import { notFound } from "next/navigation";

import { getDictionary, hasLocale } from "@/app/[lang]/dictionaries";
import { Footer } from "@/components/layout/footer";
import { Navbar } from "@/components/layout/navbar";
import { MotionProvider } from "@/components/motion-provider";
import { buildMarketingSearchIndex } from "@/lib/search/marketing-index";

export default async function MarketingLayout({
  children,
  params,
}: LayoutProps<"/[lang]">) {
  const { lang } = await params;
  if (!hasLocale(lang)) notFound();
  const dict = await getDictionary(lang);
  const searchRecords = buildMarketingSearchIndex(dict, lang);

  return (
    <MotionProvider>
      <Navbar dict={dict.nav} lang={lang} records={searchRecords} />
      <main id="main-content">{children}</main>
      <Footer dict={dict.footer} lang={lang} />
    </MotionProvider>
  );
}
