import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card } from "@/components/ui/card"; import { ShoppingCart, CheckCircle, Menu } from "lucide-react"; import { products, formatPrice } from "@shared/products"; import { useLocation } from "wouter"; export default function Shop() { const [, navigate] = useLocation(); const [showMobileMenu, setShowMobileMenu] = useState(false); 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 (
{/* Header */}
Modemanagement Logo
{showMobileMenu && (
setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> KPI Calculator setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Testimonials setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Inkoopplanning setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Korting Calculator setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Gratis Cursus setShowMobileMenu(false)} className="block px-4 py-2 text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Webshop setShowMobileMenu(false)} className="block px-4 py-2 text-foreground hover:text-primary font-semibold transition-colors rounded-lg hover:bg-secondary"> Gratis Analyse
)}
{/* Products Grid */}

Modemanagement Webshop

Kies het perfecte pakket voor jouw bedrijf

{products.map((product) => ( {product.highlighted && (
Populair
)}

{product.name}

€{(product.price / 100).toFixed(2)} {product.priceNote && ( {product.priceNote} )} {product.duration && !product.priceNote && ( {product.duration} )}

{product.description}

{product.features.map((feature, idx) => (
{feature}
))}
{product.externalLink ? ( ) : ( )}
))}
); }