Add dashboard auto-refresh, status filters, rate limiting, database backup/restore

This commit is contained in:
Troll (Hermes Agent) 2026-08-01 22:52:32 +00:00
parent f32efc42c5
commit 5ebce2baff
5 changed files with 138 additions and 29 deletions

View file

@ -218,6 +218,22 @@
</form>
</div>
<!-- Auto refresh -->
<div class="section">
<h2>Dashboard Auto-Refresh</h2>
<form method="POST">
<input type="hidden" name="action" value="save_refresh">
<label for="refresh_seconds">Refresh interval</label>
<select id="refresh_seconds" name="refresh_seconds">
<option value="0" {% if current_refresh_seconds == 0 %}selected{% endif %}>Off</option>
<option value="10" {% if current_refresh_seconds == 10 %}selected{% endif %}>10 seconds</option>
<option value="20" {% if current_refresh_seconds == 20 %}selected{% endif %}>20 seconds</option>
<option value="30" {% if current_refresh_seconds == 30 %}selected{% endif %}>30 seconds</option>
</select>
<button type="submit">Save Refresh Interval</button>
</form>
</div>
<!-- MP3 metadata defaults -->
<div class="section">
<h2>MP3 Metadata Tags</h2>
@ -246,6 +262,24 @@
</form>
</div>
<!-- Database backup / restore -->
<div class="section">
<h2>Database Backup / Restore</h2>
<p class="copy-hint">Download a copy of the SQLite database before the event. Upload a previous backup to restore it; the current database will be renamed as a timestamped backup.</p>
<form method="POST" style="margin-bottom:1rem">
<input type="hidden" name="action" value="download_db">
<button type="submit">Download Database Backup</button>
</form>
<form method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="restore_db">
<label for="db_backup">Restore from backup (.db / .sqlite)</label>
<input type="file" id="db_backup" name="db_backup" accept=".db,.sqlite,.sqlite3">
<button type="submit" onclick="return confirm('This will replace the current database. The old one will be kept as a timestamped backup. Continue?')">Restore Database</button>
</form>
</div>
<!-- System reset spans both columns -->
<div class="danger-zone">
<h2>⚠️ Reset System</h2>
@ -256,7 +290,7 @@
</form>
</div>
</div>
</div>
</body>
</html>
</div>
</div>
</body>
</html>