30 lines
No EOL
1.2 KiB
JavaScript
30 lines
No EOL
1.2 KiB
JavaScript
// Hovedinitialisering av applikasjonen når DOM er ferdig lastet
|
|
// Setter opp initial tilstand og starter renderingsloopen
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Fjerner loading-indikator hvis den finnes
|
|
// Defensiv sjekk fordi HTML-struktur kan endres
|
|
const loadingElement = document.querySelector('.loading');
|
|
if (loadingElement) {
|
|
loadingElement.remove();
|
|
}
|
|
|
|
// Laster lagret handlekurv fra localStorage før første rendering
|
|
// Må skje først fordi andre operasjoner avhenger av handlekurvstatus
|
|
initializeCart();
|
|
|
|
// Henter initial data fra model-lag
|
|
const products = getAllProducts();
|
|
const cart = getCart();
|
|
const itemCount = getCartItemCount();
|
|
|
|
// Starter med produktoversikt som standardside
|
|
// Viser brukeren det de mest sannsynlig ønsker å se først
|
|
updateView('products', { products });
|
|
|
|
// Oppdaterer handlekurvteller i navigasjon basert på lagret data
|
|
// Viktig for å vise korrekt status fra tidligere sessjon
|
|
updateView('cart-count', { count: itemCount });
|
|
|
|
// Bekrefter vellykket initialisering i konsoll for debugging
|
|
console.log('Nettbutikk MVC Demo initialisert!');
|
|
}); |