/** * Cart functionality */ let cartItems = []; // Initialize the cart function initCart() { loadCartFromStorage(); updateCartDisplay(); } // Add item to cart function addToCart(productId, quantity = 1) { const product = getProduct(productId); if (!product) { console.error('Product not found:', productId); return; } const existingItemIndex = cartItems.findIndex(item => item.id === productId); if (existingItemIndex >= 0) { cartItems[existingItemIndex].quantity += quantity; } else { cartItems.push({ id: product.id, name: product.name, price: product.price, image: product.image, quantity }); } saveCartToStorage(); updateCartDisplay(); showNotification(`${product.name} added to cart`); } // Remove item function removeFromCart(productId) { cartItems = cartItems.filter(item => item.id !== productId); saveCartToStorage(); updateCartDisplay(); } // Update item quantity function updateCartItemQuantity(productId, quantity) { if (quantity <= 0) return removeFromCart(productId); const itemIndex = cartItems.findIndex(item => item.id === productId); if (itemIndex >= 0) { cartItems[itemIndex].quantity = quantity; saveCartToStorage(); updateCartDisplay(); } } // Clear the entire cart function clearCart() { cartItems = []; saveCartToStorage(); updateCartDisplay(); } // Calculate subtotal function calculateSubtotal() { return cartItems.reduce((sum, item) => sum + (item.price * item.quantity), 0); } // Save to localStorage function saveCartToStorage() { localStorage.setItem('VORTHIA-cart', JSON.stringify(cartItems)); } // Load from localStorage function loadCartFromStorage() { const savedCart = localStorage.getItem('VORTHIA-cart'); cartItems = savedCart ? JSON.parse(savedCart) : []; } // Update cart display function updateCartDisplay() { const totalItems = cartItems.reduce((sum, item) => sum + item.quantity, 0); document.querySelectorAll('.cart-count').forEach(el => { el.textContent = totalItems; el.style.display = totalItems > 0 ? 'flex' : 'none'; }); const cartItemsContainer = document.getElementById('cart-items-container'); if (cartItemsContainer) updateCartPage(); } // Update cart page display function updateCartPage() { const cartItemsContainer = document.getElementById('cart-items-container'); const emptyCartMessage = document.querySelector('.empty-cart-message'); const subtotalElement = document.getElementById('cart-subtotal'); const totalElement = document.getElementById('cart-total'); const checkoutButton = document.getElementById('checkout-button'); const clearCartButton = document.getElementById('clear-cart-button'); const cartSummary = document.querySelector('.cart-summary'); if (!cartItemsContainer || !emptyCartMessage) return; cartItemsContainer.querySelectorAll('.cart-item').forEach(el => el.remove()); if (cartItems.length === 0) { emptyCartMessage.style.display = 'block'; cartSummary.style.display = 'none'; // 🔥 Cart boşsa gizle subtotalElement.textContent = formatPrice(0); totalElement.textContent = formatPrice(0); checkoutButton.disabled = true; clearCartButton.disabled = true; return; } emptyCartMessage.style.display = 'none'; cartSummary.style.display = 'block'; // 🔥 Cart doluysa göster checkoutButton.disabled = false; clearCartButton.disabled = false; cartItems.forEach(item => { const itemElement = document.createElement('div'); itemElement.className = 'cart-item'; itemElement.innerHTML = `