import type { Metadata } from "next";
import { prisma } from "@/lib/db";
import { parseFilters } from "@/lib/catalog";
import { ProductListing } from "@/components/product/ProductListing";

export const metadata: Metadata = {
  title: "All Products",
  description: "Browse all tested second-hand electronics with seller warranty.",
};

export default async function ProductsPage({
  searchParams,
}: {
  searchParams: Promise<Record<string, string | string[] | undefined>>;
}) {
  const sp = await searchParams;
  const filters = parseFilters(sp);
  const categories = await prisma.category.findMany({
    orderBy: { sortOrder: "asc" },
    select: { name: true, slug: true, icon: true },
  });

  return (
    <div className="mx-auto max-w-7xl px-4 py-8">
      <h1 className="mb-1 text-2xl font-bold text-slate-900">All Products</h1>
      <p className="mb-6 text-sm text-slate-500">
        Every device is tested and comes with a seller warranty.
      </p>
      <ProductListing
        filters={filters}
        basePath="/products"
        rawParams={sp}
        categories={categories}
      />
    </div>
  );
}
