import { Metadata } from "next"; // Импортируем тип Metadata
import { ThemeProvider } from "@/components/sections/theme/theme-provider";
import "../globals.css";
import { getDictionary } from "@/lib/dictionaries";
import { Header } from "@/components/sections/Header";
import { JetBrains_Mono } from "next/font/google";
import { Footer } from "@/components/sections/Footer";
import { RTL_LOCALES } from "@/lib/locales";

const jetbrainsMono = JetBrains_Mono({
  subsets: ["latin", "cyrillic"],
  display: "swap",
  preload: true, // Гарантирует предзагрузку в <head>
  fallback: ["monospace"], // Указывает браузеру, что показывать до загрузки
});

// Настройка метаданных
export const metadata: Metadata = {
  title: {
    template: "%s | Netrunner VPN",
    default: "Netrunner VPN — Система следит за всеми, кроме тебя.",
  },
  description:
    "Цифровой след скрыт. Логи уничтожены. Скорость не ограничена. Ваш персональный защищенный туннель Netrunner.",
  icons: {
    icon: [
      {
        url: "/logo.svg",
        href: "/logo.svg",
      },
    ],
  },
};

// Корневой layout для всех локализованных страниц (сегмент [lang]). Здесь, а не в
// каждой отдельной странице, грузится словарь для Header/Footer и подключается тема,
// т.к. эти элементы общие для всего сайта. params.lang приходит из динамического
// сегмента маршрута и совпадает с тем, что определил proxy.ts при редиректе.
export default async function RootLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ lang: string }>;
}) {
  const { lang } = await params;
  const dict = await getDictionary(lang);

  const dir = RTL_LOCALES.includes(lang as (typeof RTL_LOCALES)[number])
    ? "rtl"
    : "ltr";

  return (
    <html lang={lang} dir={dir} suppressHydrationWarning>
      <body
        className={`${jetbrainsMono.className} bg-background text-foreground min-h-screen flex flex-col transition-colors duration-300`}
      >
        <ThemeProvider
          attribute="class"
          defaultTheme="dark"
          enableSystem
          disableTransitionOnChange
        >
          <Header dict={dict.nav} lang={lang} />

          {/* УБРАЛИ mt-32 ТУТ */}
          <main className="flex-1">{children}</main>

          <Footer dict={dict.footer} lang={lang} />
        </ThemeProvider>
      </body>
    </html>
  );
}
