import LabItem from "@/components/lab-item";
import { getLabMeta } from "@/lib/api/labs.v2";
import { getLocaleFromLangString } from "@/lib/locale";
import { t } from "@/locales";
import { Metadata } from "next";

export default async function LabIframePage(props: {
  params: Promise<{ lang?: string; code: string }>;
}) {
  const params = await props.params;
  const locale = getLocaleFromLangString(params.lang);
  const labCode = decodeURIComponent(params.code);

  const meta = await getLabMeta(labCode);

  return <LabItem lab={meta} iframeMode locale={locale} />;
}

export async function generateMetadata(props: {
  params: Promise<{ lang?: string; code: string }>;
}): Promise<Metadata> {
  const params = await props.params;
  const locale = getLocaleFromLangString(params.lang);
  const labCode = decodeURIComponent(params.code);

  const meta = await getLabMeta(labCode);

  return {
    title: `${meta[`title_${locale}`]} | ${t(locale, "home.seo.title")}`,
    description: meta[`description_${locale}`],
    keywords: t(locale, "home.seo.keywords"),
  };
}
