import { notFound } from "next/navigation";

export const dynamic = "force-dynamic";
import ProductLandingClient from "./ProductLandingClient";
import { getProductBySlug } from "@/lib/products";
import { getPlatformSettings } from "@/lib/settings";

const RESERVED = new Set([
  "login",
  "cadastro",
  "painel",
  "api",
  "obrigado",
  "_next",
  "index.php",
  "index.html",
  "favicon.ico",
  "uploads",
]);

export default async function ProductPage({
  params,
}: {
  params: Promise<{ slug: string }>;
}) {
  const { slug } = await params;
  if (RESERVED.has(slug)) notFound();

  const [product, settings] = await Promise.all([
    getProductBySlug(slug),
    getPlatformSettings(),
  ]);
  if (!product || product.status !== "ativo") notFound();

  return <ProductLandingClient product={product} domain={settings.domain} />;
}
