22 lines
550 B
JavaScript
22 lines
550 B
JavaScript
// ── App Init ──
|
|
|
|
document.addEventListener('DOMContentLoaded', async () => {
|
|
// Nav-Links
|
|
document.querySelectorAll('.nav-link[data-page]').forEach(link => {
|
|
link.addEventListener('click', (e) => {
|
|
e.preventDefault();
|
|
navigateTo(link.dataset.page);
|
|
});
|
|
});
|
|
|
|
// Route aus Hash laden
|
|
const { page, id } = parseHash();
|
|
await navigateTo(page, { id });
|
|
});
|
|
|
|
// Hash-Änderungen abfangen
|
|
window.addEventListener('hashchange', async () => {
|
|
const { page, id } = parseHash();
|
|
await navigateTo(page, { id });
|
|
});
|