get-frontend/webshop_app/mvc-emne2/js/app.js
2025-07-01 20:42:02 +02:00

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!');
});