import DestinationDetailSection from "@/component/destination/DestinationDetailSection";
import {
  getAllDestinations,
  getDestinationBySlug,
} from "@/service/dataService";

export async function generateMetadata({
  params,
}: {
  params: { name: string };
}) {
  const data = await getDestinationBySlug({ slug: params.name });

  return {
    title: `${data.name} | Kearsleys - Travel & Tours`,
    description: data?.aboutSection.description[0],
    openGraph: {
      images: [data?.images[0]],
    },
  };
}

export default function page({
  params,
}: {
  params: {
    name: string;
  };
}) {
  return (
    <main className="main-container -mb-[60px] bg-stone-100 sm:-mb-[70px] md:-mb-20 lg:-mb-[90px] xl:-mb-[100px]">
      <DestinationDetailSection destinationName={params.name} />
    </main>
  );
}

export async function generateStaticParams() {
  const data = await getAllDestinations();

  return data.map((item) => ({
    name: item.slug,
  }));
}
