/**
* Dieser Code lädt beim Start der Seite (DOMContentLoaded) Header und Footer dynamisch vom Server
* (über /header und /footer) und fügt sie in die vorgesehenen Elemente ein.
* Tritt ein Fehler auf (z.B. Datei nicht vorhanden oder Serverproblem),
* wird eine Fehlermeldung direkt auf der Webseite angezeigt.
*/
// Warten bis das gesamte DOM geladen ist
document.addEventListener("DOMContentLoaded", () => {
// Header laden
const headerTarget = document.getElementById("header");
if (headerTarget) {
// Header-Inhalt vom Server anfordern
fetch("/header")
.then(response => {
// Prüfen, ob die Antwort erfolgreich war
if (!response.ok) throw new Error("Header nicht gefunden");
return response.text();
})
.then(data => {
// Header-Inhalt in die Seite einfügen
headerTarget.innerHTML = data;
// WICHTIG: Jetzt den Warenkorb zählen, nachdem der Header geladen ist!
zeigeWarenkorbAnzahl();
zeigeLoginStatus();
})
.catch(error => {
// Fehlerbehandlung: Fehlermeldung im Header-Bereich anzeigen
headerTarget.innerHTML = `
Fehler beim Laden des Headers.
`;
console.error(error);
});
}
// Footer laden
const footerTarget = document.getElementById("footer");
if (footerTarget) {
// Footer-Inhalt vom Server anfordern
fetch("/footer")
.then(response => {
// Prüfen, ob die Antwort erfolgreich war
if (!response.ok) throw new Error("Footer nicht gefunden");
return response.text();
})
.then(data => {
// Footer-Inhalt in die Seite einfügen
footerTarget.innerHTML = data;
})
.catch(error => {
// Fehlerbehandlung: Die Fehlermeldung im Footer-Bereich anzeigen
footerTarget.innerHTML = `
Fehler beim Laden der Fußzeile.
`;
console.error(error);
});
}
window.zeigeWarenkorbAnzahl = function() {
const warenkorb = JSON.parse(localStorage.getItem('warenkorb')) || [];
let anzahl = 0;
warenkorb.forEach(produkt => {
anzahl += produkt.quantity;
});
const anzahlElement = document.getElementById('cart-count');
if (anzahlElement) {
anzahlElement.textContent = anzahl;
}
console.log('Warenkorb-Anzahl:', anzahl);
}
window.zeigeLoginStatus= function (){
const userId = sessionStorage.getItem('user_id')
const loginBtn = document.querySelector('.login-btn')
if (!loginBtn) return
if (userId) {
loginBtn.textContent = 'Logout'
loginBtn.href = '/'
loginBtn.addEventListener('click', (e) => {
e.preventDefault()
sessionStorage.clear()
alert('Sie wurden ausgeloggt.')
location.reload()
})
} else {
loginBtn.textContent = 'Login'
loginBtn.href= '/login'
}
}
});