"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { Button } from "@/components/ui"; import { loadCommercialProducts } from "../adapters"; import type { CommercialProduct } from "../types"; import { resolveProductLaunchUrl } from "../types"; /** Dynamic sidebar — product launch URLs from registry metadata only. */ export function CommercialSidebar({ className = "" }: { className?: string }) { const [products, setProducts] = useState([]); useEffect(() => { void loadCommercialProducts().then((r) => { if (r.availability === "ready") { setProducts( r.data .filter((p) => p.visibility !== "hidden") .filter((p) => resolveProductLaunchUrl(p)) ); } }); }, []); return ( ); }