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 { platformComparisonRows, platformFaqs, platformProductVideo, } from "@shared/platformContent"; 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 && (
{product.highlightedLabel ?? "Populair"}
)}

{product.titleLines ? product.titleLines.map(line => {line}) : product.name}

{product.subtitle && (

{product.subtitle}

)}
€{(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 ? ( ) : ( )}
))}

PRODUCTVIDEO

{platformProductVideo.title}

{platformProductVideo.description}

WELK PAKKET PAST BIJ JOU?

Vergelijk je mogelijkheden

Kies het pakket dat past bij de manier waarop je nu wilt werken: zelf aan de slag, maandelijks sturen of persoonlijk sparren.

Veeg horizontaal om alle pakketten te vergelijken.

{platformComparisonRows.map((row) => ( ))}
Onderdeel AI voor Modewinkels Inkoopplan/Maandanalyse Consult
{row.label} {row.ai} {row.platform} {row.consult}

VEELGESTELDE VRAGEN

Over het Inkoopplan/Maandanalyse Platform

{platformFaqs.map((faq) => (
{faq.question}

{faq.answer}

))}
); }