update to web interface
Local Docker Build (Dev) / build-dev (push) Successful in 5s

This commit is contained in:
2025-11-03 19:05:43 -05:00
parent b0b2e87447
commit 1f20b4397d
3 changed files with 33 additions and 18 deletions
+1 -1
View File
@@ -1 +1 @@
2.10.0-skipped-tracking
2.10.0-skipped-tracking-fix
+3 -3
View File
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NFOGuard - Database Management</title>
<link rel="stylesheet" href="/static/css/styles.css?v=2.10.0-skipped-tracking">
<link rel="stylesheet" href="/static/css/styles.css?v=2.10.0-skipped-tracking-fix">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
</head>
<body>
@@ -12,7 +12,7 @@
<!-- Header -->
<header class="app-header">
<div class="header-content">
<h1><i class="fas fa-shield-alt"></i> NFOGuard <span style="font-size: 0.5em; color: #888;">v2.10.0-skipped-tracking</span></h1>
<h1><i class="fas fa-shield-alt"></i> NFOGuard <span style="font-size: 0.5em; color: #888;">v2.10.0-skipped-tracking-fix</span></h1>
<p>Database Management & Reporting</p>
</div>
<div class="auth-status" id="auth-status" style="display: none;">
@@ -723,6 +723,6 @@
<!-- Toast Notifications -->
<div class="toast-container" id="toast-container"></div>
<script src="/static/js/app.js?v=2.10.0-skipped-tracking">
<script src="/static/js/app.js?v=2.10.0-skipped-tracking-fix">
</body>
</html>
+29 -14
View File
@@ -62,22 +62,37 @@ function switchTab(tabName) {
// Event listeners
function initializeEventListeners() {
// Search inputs
document.getElementById('movies-search').addEventListener('input', debounce(loadMovies, 500));
document.getElementById('movies-imdb-search').addEventListener('input', debounce(loadMovies, 500));
document.getElementById('series-search').addEventListener('input', debounce(loadSeries, 500));
document.getElementById('series-imdb-search').addEventListener('input', debounce(loadSeries, 500));
const moviesSearch = document.getElementById('movies-search');
const moviesImdbSearch = document.getElementById('movies-imdb-search');
const seriesSearch = document.getElementById('series-search');
const seriesImdbSearch = document.getElementById('series-imdb-search');
if (moviesSearch) moviesSearch.addEventListener('input', debounce(loadMovies, 500));
if (moviesImdbSearch) moviesImdbSearch.addEventListener('input', debounce(loadMovies, 500));
if (seriesSearch) seriesSearch.addEventListener('input', debounce(loadSeries, 500));
if (seriesImdbSearch) seriesImdbSearch.addEventListener('input', debounce(loadSeries, 500));
// Filter dropdowns
document.getElementById('movies-filter-date').addEventListener('change', loadMovies);
document.getElementById('movies-filter-source').addEventListener('change', loadMovies);
document.getElementById('series-filter-date').addEventListener('change', loadSeries);
document.getElementById('series-filter-source').addEventListener('change', loadSeries);
const moviesFilterDate = document.getElementById('movies-filter-date');
const moviesFilterSource = document.getElementById('movies-filter-source');
const seriesFilterDate = document.getElementById('series-filter-date');
const seriesFilterSource = document.getElementById('series-filter-source');
if (moviesFilterDate) moviesFilterDate.addEventListener('change', loadMovies);
if (moviesFilterSource) moviesFilterSource.addEventListener('change', loadMovies);
if (seriesFilterDate) seriesFilterDate.addEventListener('change', loadSeries);
if (seriesFilterSource) seriesFilterSource.addEventListener('change', loadSeries);
// Forms
document.getElementById('edit-form').addEventListener('submit', handleEditSubmit);
document.getElementById('bulk-update-form').addEventListener('submit', handleBulkUpdate);
document.getElementById('manual-scan-form').addEventListener('submit', handleManualScan);
document.getElementById('populate-form').addEventListener('submit', handlePopulateDatabase);
const editForm = document.getElementById('edit-form');
const bulkUpdateForm = document.getElementById('bulk-update-form');
const manualScanForm = document.getElementById('manual-scan-form');
const populateForm = document.getElementById('populate-form');
if (editForm) editForm.addEventListener('submit', handleEditSubmit);
if (bulkUpdateForm) bulkUpdateForm.addEventListener('submit', handleBulkUpdate);
if (manualScanForm) manualScanForm.addEventListener('submit', handleManualScan);
if (populateForm) populateForm.addEventListener('submit', handlePopulateDatabase);
}
// API calls