import { Button } from "@/components/ui/button"; import { Card } from "@/components/ui/card"; import { ShoppingCart, CheckCircle } from "lucide-react"; import { products, formatPrice } from "@shared/products"; import { platformComparisonRows, platformFaqs, platformProductVideo, } from "@shared/platformContent"; import { useLocation } from "wouter"; import { PublicHeader } from "@/components/PublicHeader"; const shopStructuredData = { "@context": "https://schema.org", "@type": "ItemList", name: "Modemanagement Webshop", itemListElement: products.map((product, index) => ({ "@type": "ListItem", position: index + 1, item: { "@type": "Product", name: product.name, description: product.description, offers: { "@type": "Offer", priceCurrency: "EUR", price: product.price / 100, url: product.externalLink ?? "https://modemanagement.nl/shop", }, }, })), }; export default function Shop() { const [, navigate] = useLocation(); const handleAddToCart = (productId: string) => { // Store cart in both localStorage (persistent) and sessionStorage (immediate) let cartItems = []; // Try localStorage first (persistent across sessions) const storedCart = localStorage.getItem("cart"); if (storedCart) { try { cartItems = JSON.parse(storedCart); } catch (e) { console.error('Failed to parse localStorage cart:', e); } } const existing = cartItems.find((item: any) => item.productId === productId); if (existing) { existing.quantity += 1; } else { cartItems.push({ productId, quantity: 1 }); } // Save to both storages for redundancy localStorage.setItem("cart", JSON.stringify(cartItems)); sessionStorage.setItem("pendingCartItems", JSON.stringify(cartItems)); // Navigate to checkout navigate("/checkout"); }; return (