33 lines
1.6 KiB
JavaScript
33 lines
1.6 KiB
JavaScript
document.addEventListener("DOMContentLoaded", () => {
|
|
function setActiveMenu(id) {
|
|
//Alle Sidebar-Links zurücksetzen
|
|
document.querySelectorAll("#sidebar .nav-link").forEach(link => link.classList.remove("active"));
|
|
// Alle Navbar-Links zurücksetzen
|
|
document.querySelectorAll(".navbar-nav .nav-link").forEach(link => link.classList.remove("active"));
|
|
|
|
//Aktiven Link setzen
|
|
const activeLink = document.getElementById(id);
|
|
if (activeLink) activeLink.classList.add("active");
|
|
}
|
|
function loadPage(page, menuId) {
|
|
fetch("pages/" + page + ".html")
|
|
.then(response => response.text())
|
|
.then(data => {
|
|
document.getElementById("main-content").innerHTML = data;
|
|
setActiveMenu(menuId);
|
|
})
|
|
.catch(error => {
|
|
document.getElementById("main-content").innerHTML = "<div class='alert alert-danger'>Fehler beim Laden der Seite.</div>";
|
|
});
|
|
}
|
|
|
|
document.getElementById("nav-home").onclick = () => loadPage("home", "nav-home");
|
|
document.getElementById("nav-play").onclick = () => loadPage("play", "nav-play");
|
|
document.getElementById("nav-my-scores").onclick = () => loadPage("scores", "nav-my-scores");
|
|
document.getElementById("nav-leaderboard").onclick = () => loadPage("leaderboard", "nav-leaderboard");
|
|
document.getElementById("navbar-login").onclick = () => loadPage("login", "navbar-login");
|
|
document.getElementById("navbar-messages").onclick = () => loadPage("messages", "navbar-messages");
|
|
|
|
//Startseite laden
|
|
loadPage("home", "nav-home");
|
|
}); |