diff --git a/static/shop/js/shop-layout.js b/static/shop/js/shop-layout.js index 54d1ca6f..80a0a9af 100644 --- a/static/shop/js/shop-layout.js +++ b/static/shop/js/shop-layout.js @@ -29,11 +29,16 @@ function shopLayoutData() { // Cart state cart: [], + sessionId: null, // Initialize init() { shopLog.info('Shop layout initializing...'); + // Get or create session ID + this.sessionId = this.getOrCreateSessionId(); + shopLog.debug('Session ID:', this.sessionId); + // Load cart from localStorage this.loadCart(); @@ -45,6 +50,17 @@ function shopLayoutData() { shopLog.info('Shop layout initialized'); }, + // Get or create session ID + getOrCreateSessionId() { + let sessionId = localStorage.getItem('cart_session_id'); + if (!sessionId) { + sessionId = 'session_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9); + localStorage.setItem('cart_session_id', sessionId); + shopLog.info('Created new session ID:', sessionId); + } + return sessionId; + }, + // Theme management toggleTheme() { this.dark = !this.dark;