import SinglePostMain from "@/components/singlePost/SinglePostMain";
import instance from "@/utils/instance";
import { Metadata } from "next";

type Props = {
  params: { categoryName: string; slug: string };
  searchParams: { [key: string]: string | string[] | undefined };
};

export async function generateMetadata({
  params,
}: {
  params: { categoryName: string; slug: string };
}): Promise<Metadata> {
  const { data } = await instance.get(`/metadata?encode_title=${params?.slug}`);
  const {
    title,
    image,
    meta_keyword,
    meta_description,
    site_name,
    favicon,
  } = data?.data || {};

  const fullUrl = `https://www.newsonewsu.com/${params.categoryName}/${params.slug}`;

  return {
    title: title || "NewsOne NewsU",
    description: meta_description || "Latest news and updates",
    keywords: meta_keyword ? [meta_keyword] : [],
    metadataBase: new URL("https://www.newsonewsu.com"),
    openGraph: {
      title: title || "NewsOne NewsU",
      description: meta_description || "Latest news and updates",
      url: fullUrl,
      siteName: site_name || "NewsOne NewsU",
      images: [
        {
          url: image || "https://www.newsonewsu.com/default-image.jpg",
          width: 800,
          height: 600,
        },
      ],
      type: "article",
    },
    icons: {
      icon: favicon || "/favicon.ico",
    },
  };
}

export default function SinglePost({ params, searchParams }: any) {
  return <SinglePostMain />;
}
