import type React from "react"; import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { notFound } from "next/navigation"; import { NextIntlClientProvider } from "next-intl"; import "./globals.css"; import Header from "@/components/layout/Header"; import MobileBottomNav from "@/components/layout/MobileBar"; import Footer from "@/components/layout/Footer"; import { Toaster } from "@/components/ui/sonner"; import { Providers } from "@/context/Provider"; import AuthWrapper from "@/context/AuthWrapper"; import localFont from 'next/font/local' const geistSans = localFont({ src: '../../public/fonts/GeistVF.woff2', variable: '--font-geist-sans', }) export const metadata: Metadata = { title: "SmartElectronics", description: "E-commerce platform", }; type Props = { children: React.ReactNode; params: Promise<{ locale: string }>; }; const locales = ["ru", "tm"]; export function generateStaticParams() { return locales.map((locale) => ({ locale })); } export default async function RootLayout({ children, params }: Props) { const { locale } = await params; if (!locales.includes(locale)) notFound(); let messages; try { messages = (await import(`../../i18n/messages/${locale}.json`)).default; } catch { messages = {}; } return (