57 lines
2.1 KiB
JavaScript
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>
|
|
`;
|
|
}
|
|
})(); |