import ProductAudience from "@/components/products/ProductAudience";
import ProductBenefits from "@/components/products/ProductBenefits";
import ProductCTA from "@/components/products/ProductCTA";
import ProductFAQ from "@/components/products/ProductFAQ";
import ProductFeatures from "@/components/products/ProductFeatures";
import ProductHero from "@/components/products/ProductHero";
import ProductHowItWorks from "@/components/products/ProductHowItWorks";
import ProductInteractiveStory from "@/components/products/ProductInteractiveStory";
import ProductNavbar from "@/components/products/ProductNavbar";
import ProductOverview from "@/components/products/ProductOverview";
import ProductPricing from "@/components/products/ProductPricing";
import ProductRelatedBlogs from "@/components/products/ProductRelatedBlogs";
import type { Product } from "@/data/products.data";
import { getProductPageCopy } from "@/data/products.data";
import type { Dictionary } from "@/lib/i18n";
import type { Locale } from "@/lib/locales";

export default function ProductPage({
  dictionary,
  locale,
  product,
}: {
  dictionary: Dictionary;
  locale: Locale;
  product: Product;
}) {
  const copy = getProductPageCopy(locale);
  const interactiveStory = (
    <ProductInteractiveStory
      benefits={product.benefits}
      features={product.features}
      locale={locale}
      productName={product.name}
      productSlug={product.slug}
      sales={product.sales}
    />
  );

  return (
    <>
      <ProductNavbar bookDemoLabel={dictionary.common.bookDemo} copy={copy} locale={locale} product={product} />
      <ProductHero bookDemoLabel={dictionary.common.bookDemo} copy={copy} locale={locale} product={product} />
      {product.slug === "pureestate" ? (
        <>
          <ProductOverview copy={copy} product={product} />
          {interactiveStory}
          <ProductFeatures copy={copy} product={product} />
          <ProductBenefits copy={copy} product={product} />
          <ProductAudience copy={copy} product={product} />
        </>
      ) : (
        <>
          <ProductAudience copy={copy} product={product} />
          {interactiveStory}
          <ProductFeatures copy={copy} product={product} />
          <ProductOverview copy={copy} product={product} />
          <ProductBenefits copy={copy} product={product} />
        </>
      )}
      <ProductHowItWorks copy={copy} product={product} />
      <ProductPricing locale={locale} product={product} />
      <ProductFAQ copy={copy} locale={locale} product={product} />
      <ProductRelatedBlogs locale={locale} product={product} />
      <ProductCTA bookDemoLabel={dictionary.common.bookDemo} copy={copy} locale={locale} product={product} />
    </>
  );
}
