import NewProductForm from "@/components/NewProductForm/NewProductForm";
import { getCategories } from "@/services/db/categoriesAPI";
import { getCollections } from "@/services/db/collectionsAPI";
import { getColors } from "@/services/db/colorsAPI";
import { getProductBySlug } from "@/services/db/productsAPI";
import type { FullyPopulatedProduct } from "@/services/models/Product";

export default async function ProductEditPage({
  params,
}: PageProps<"/dashboard/products/edit/[slug]">) {
  const { slug } = await params;

  const product = await getProductBySlug(slug);
  const colors = await getColors();
  const categories = await getCategories();
  const collections = await getCollections();

  return (
    <NewProductForm
      product={JSON.parse(JSON.stringify(product)) as FullyPopulatedProduct}
      colors={colors}
      categories={categories}
      collections={collections}
    />
  );
}
