"use client"; import { useState, useEffect } from "react"; import { useLanguage } from "@/contexts/LanguageContext"; import { categories } from "@/data/products"; import type { Product } from "@/data/products"; import { listProducts } from "@/lib/api/products"; import ProductCard from "@/components/ProductCard"; export default function Shop() { const { t } = useLanguage(); const [selectedCategory, setSelectedCategory] = useState("all"); const [products, setProducts] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { setLoading(true); listProducts({ per_page: 100, category: selectedCategory === "all" ? undefined : selectedCategory, }) .then((res) => setProducts(res.data)) .catch((e) => { console.error("[boutique] listProducts failed:", e); setProducts([]); }) .finally(() => setLoading(false)); }, [selectedCategory]); return (

{t("shop.title")}

{categories.map((cat) => ( ))}
{loading ? (
{Array.from({ length: 8 }).map((_, i) => (
))}
) : products.length === 0 ? (

{t("shop.no_products")}

) : (
{products.map((product) => ( ))}
)}
); }