import type { Metadata } from "next"; import { PackageSearch, SearchX } from "lucide-react"; import { getProduitFiche, getProduitFicheByCodeCentrale } from "@/features/produits/api/get-produit-fiche"; import { PageHeader } from "@/components/ui/page-header"; import { EmptyState } from "@/components/ui/states"; import { Terme } from "@/components/ui/tooltip"; import { ProduitSearchBar } from "./search-bar"; import { ProduitResults } from "./results"; import { ProduitFicheView } from "./fiche"; export const metadata: Metadata = { title: "Recherche produit" }; export const dynamic = "force-dynamic"; /** * Recherche produit — **Qlik d'abord**, catalogue FF Nancy ensuite. * * - `?q=…` → liste de résultats (chargée côté client : l'extraction Qlik * prend plusieurs secondes, on ne bloque pas le rendu serveur) * - `?codein=…` → fiche d'un produit de notre catalogue (URL partageable) * - `?cc=…` → fiche d'un produit du réseau par son code centrale, qu'il * soit référencé chez nous ou non */ export default async function ProduitsPage(props: { searchParams: Promise<{ q?: string; codein?: string; cc?: string }>; }) { const searchParams = await props.searchParams; const q = (searchParams.q ?? "").trim(); const codein = (searchParams.codein ?? "").trim(); const codeCentrale = (searchParams.cc ?? "").trim(); const fiche = codein ? await getProduitFiche(codein) : codeCentrale ? await getProduitFicheByCodeCentrale(codeCentrale) : null; const ficheDemandee = Boolean(codein || codeCentrale); return (