
- Implement a unified SPA routing system in nav.js, removing all legacy and conflicting navigation scripts (router.js, inject-nav.js, fix-nav.js). - Refactor dashboard.js to delegate all navigation handling to the new nav.js module. - Create new modular JS files (auth.js, personal-player.js, logger.js) to improve code organization. - Fix all navigation-related bugs, including guest access and broken footer links. - Clean up the project root by moving development scripts and backups to a dedicated /dev directory. - Add a .gitignore file to exclude the database, logs, and other transient files from the repository.
29 lines
935 B
JavaScript
29 lines
935 B
JavaScript
// static/auth-ui.js — navigation link and back-button handlers
|
|
import { showSection } from './nav.js';
|
|
|
|
// Data-target navigation (e.g., at #links)
|
|
export function initNavLinks() {
|
|
const linksContainer = document.getElementById('links');
|
|
if (!linksContainer) return;
|
|
linksContainer.addEventListener('click', e => {
|
|
const a = e.target.closest('a[data-target]');
|
|
if (!a || !linksContainer.contains(a)) return;
|
|
e.preventDefault();
|
|
const target = a.dataset.target;
|
|
if (target) showSection(target);
|
|
const burger = document.getElementById('burger-toggle');
|
|
if (burger && burger.checked) burger.checked = false;
|
|
});
|
|
}
|
|
|
|
// Back-button navigation
|
|
export function initBackButtons() {
|
|
document.querySelectorAll('a[data-back]').forEach(btn => {
|
|
btn.addEventListener('click', e => {
|
|
e.preventDefault();
|
|
const target = btn.dataset.back;
|
|
if (target) showSection(target);
|
|
});
|
|
});
|
|
}
|