Actualiser js/admin.js

This commit is contained in:
2026-07-01 16:42:25 +02:00
parent 30c04f0aff
commit 94faa675ff
+9 -10
View File
@@ -100,11 +100,14 @@ function initEventListeners() {
async function loadDashboardData() { async function loadDashboardData() {
try { try {
const res = await fetch(`${API_URL}?action=get_films`, { cache: 'no-store' }); const res = await fetch(`${API_URL}?action=get_films`, { cache: 'no-store' });
allItems = await res.json(); const data = await res.json(); // Reçoit {critiques: [...], videotheque: [...]}
dataStore = data;
const secRes = await fetch(`${API_URL}?action=check_security_status`, { cache: 'no-store' }); const secRes = await fetch(`${API_URL}?action=check_security_status`, { cache: 'no-store' });
const secData = await secRes.json(); const secData = await secRes.json();
const banner = document.getElementById('security-banner'); const banner = document.getElementById('security-banner');
if (banner) banner.style.display = secData.is_blank ? 'flex' : 'none'; if (banner) banner.style.display = secData.is_blank ? 'flex' : 'none';
renderAdminTable(); renderAdminTable();
} catch (err) { console.error('Erreur chargement :', err); } } catch (err) { console.error('Erreur chargement :', err); }
} }
@@ -118,15 +121,11 @@ function renderAdminTable() {
const currentSearch = searchInput ? searchInput.value.toLowerCase() : ''; const currentSearch = searchInput ? searchInput.value.toLowerCase() : '';
const physicalFilter = document.getElementById('admin-physical-checkbox'); const physicalFilter = document.getElementById('admin-physical-checkbox');
let filtered = allItems.filter(item => item.type === currentAdminTab); // On prend directement la bonne liste dans dataStore
let filtered = dataStore[currentAdminTab] || [];
if (physicalFilter && physicalFilter.checked) { if (physicalFilter && physicalFilter.checked && currentAdminTab === 'critique') {
filtered = filtered.filter(f => { filtered = filtered.filter(f => f.streaming && f.streaming.toLowerCase().includes('support physique'));
if (f.type === 'critique') {
return f.streaming && f.streaming.toLowerCase().includes('support physique');
}
return true;
});
} }
if (currentSearch) { if (currentSearch) {
@@ -176,7 +175,7 @@ function toggleSingleSelect(id, checkbox) {
} }
function toggleSelectAll(source) { function toggleSelectAll(source) {
const filtered = allItems.filter(item => item.type === currentAdminTab); const filtered = dataStore[currentAdminTab] || [];
if (source.checked) filtered.forEach(f => selectedIds.add(String(f.id))); if (source.checked) filtered.forEach(f => selectedIds.add(String(f.id)));
else filtered.forEach(f => selectedIds.delete(String(f.id))); else filtered.forEach(f => selectedIds.delete(String(f.id)));
document.querySelectorAll('.film-checkbox').forEach(cb => { cb.checked = selectedIds.has(cb.value); }); document.querySelectorAll('.film-checkbox').forEach(cb => { cb.checked = selectedIds.has(cb.value); });