import ProductData from "@comp/AppsComponent/ProductData/page";

async function getData(id) {
  const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/product/${id}`);
  const post = await res.json();
  return post;
}

export async function generateMetadata({ params }) {
  const data = await getData(params.id[0]);

  const decodedName = decodeURIComponent(params.id[1]);
  const imageUrl = new URL(
    data?.product?.files && data?.product?.files[0]?.fileLocation,
    process.env.STORAGE_URL
  );

  const metadataUrl = new URL(
    `products/${params.id[0]}/${data?.product?.persianName}`,
    process.env.NEXT_PUBLIC_APP_URL
  );
  return {
    title: data?.product?.persianName,
    description: `خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
    metadataBase: metadataUrl,
    product_id_meta: data?.product?.id,
    keywords: [
      "آرایشی",
      "بهداشت خانگی",
      "محصولات زیبایی",
      "لوازم تمیزی",
      "مراقبت شخصی",
    ],

    openGraph: {
      title: data?.product?.persianName,
      description: `  خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
      images: [imageUrl],
      url: metadataUrl,
      type: "website",
      locale: "fa-IR",
      type: "website",
    },
    twitter: {
      site: "@vesmehstore",
      description: `  خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
      title: data?.product?.persianName,
      creator: "@vesmehstore",
    },
    other: {
      product_id: data?.product?.id,
      product_name: data?.product?.persianName,
      product_price: data?.product?.costWithDiscount / 10,
      product_old_price: data?.product?.cost / 10,
      availability: data?.product?.stock > 0 ? "instock" : "outofstock",
      guarantee: "guarantee_sample",
    },
  };
}

const Page = async ({ params }) => {
  const data = await getData(params.id[0]);
  const imageUrl = new URL(
    data?.product?.files && data?.product?.files[0]?.fileLocation,
    process.env.STORAGE_URL
  );

  const structuredData = {
    "@context": "https://schema.org",
    "@type": "Product",
    name: data?.product?.persianName,
    image: imageUrl,
    description: `  خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
  };

  return (
    <>
      <ProductData params={params} data={data} />
      <script
        key="structured-data"
        type="application/ld+json"
        dangerouslySetInnerHTML={{
          __html: JSON.stringify(structuredData),
        }}
      />
    </>
  );
};

export default Page;
