Files
Lycostorrent/app/static/js/nav.js
2026-03-23 20:59:26 +01:00

57 lines
2.1 KiB
JavaScript

/**
* Lycostorrent - Navigation dynamique
* Génère la navigation en fonction des modules activés
*/
(async function() {
const nav = document.getElementById('mainNav');
if (!nav) return;
// Déterminer la page actuelle
const currentPath = window.location.pathname;
try {
const response = await fetch('/api/modules');
const data = await response.json();
const modules = data.success ? data.modules : { search: true, latest: true, discover: false };
let navHTML = '';
// Module Recherche
if (modules.search !== false) {
const isActive = currentPath === '/' || currentPath === '/index' ? 'active' : '';
navHTML += `<a href="/" class="${isActive}">🔍 Recherche</a>`;
}
// Module Nouveautés
if (modules.latest !== false) {
const isActive = currentPath === '/latest' ? 'active' : '';
navHTML += `<a href="/latest" class="${isActive}">🎬 Nouveautés</a>`;
}
// Module Découvrir
if (modules.discover === true) {
const isActive = currentPath === '/discover' ? 'active' : '';
navHTML += `<a href="/discover" class="${isActive}">🌟 Découvrir</a>`;
}
// Admin toujours visible
const isAdminActive = currentPath === '/admin' ? 'active' : '';
navHTML += `<a href="/admin" class="${isAdminActive}">⚙️ Admin</a>`;
// Déconnexion
navHTML += `<a href="/logout" class="nav-logout" title="Déconnexion">🚪</a>`;
nav.innerHTML = navHTML;
} catch (error) {
// Fallback si erreur
nav.innerHTML = `
<a href="/" class="${currentPath === '/' ? 'active' : ''}">🔍 Recherche</a>
<a href="/latest" class="${currentPath === '/latest' ? 'active' : ''}">🎬 Nouveautés</a>
<a href="/admin" class="${currentPath === '/admin' ? 'active' : ''}">⚙️ Admin</a>
<a href="/logout" class="nav-logout" title="Déconnexion">🚪</a>
`;
}
})();