From 7200bd70128a45b6ef7c3f31d25023ed1ccd7854 Mon Sep 17 00:00:00 2001 From: Local Server Date: Wed, 14 Jan 2026 21:10:06 -0600 Subject: [PATCH] Fix double-click cart/wishlist issue: prevent duplicate initialization --- website/public/assets/js/cart.js | 5 +++++ website/public/assets/js/shop-system.js | 3 +++ 2 files changed, 8 insertions(+) diff --git a/website/public/assets/js/cart.js b/website/public/assets/js/cart.js index 588c7e1..f1010f2 100644 --- a/website/public/assets/js/cart.js +++ b/website/public/assets/js/cart.js @@ -388,6 +388,11 @@ // Initialize when DOM is ready const initializeComponents = () => { + // Skip if shop-system.js already initialized + if (window.ShopSystem?.isInitialized) { + console.log("[cart.js] Skipping initialization - shop-system.js already loaded"); + return; + } console.log("[cart.js] Initializing ShoppingCart and Wishlist components"); new ShoppingCart(); new Wishlist(); diff --git a/website/public/assets/js/shop-system.js b/website/public/assets/js/shop-system.js index 154bb19..e62ad4e 100644 --- a/website/public/assets/js/shop-system.js +++ b/website/public/assets/js/shop-system.js @@ -700,6 +700,9 @@ console.log("[ShopSystem] AppState compatibility layer installed"); + // Mark as initialized to prevent cart.js duplicate initialization + window.ShopSystem.isInitialized = true; + // Setup dropdowns when DOM is ready if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", () => {