 
import { cookies } from 'next/headers';
import { NextIntlClientProvider } from 'next-intl';

import type { Metadata, Viewport } from "next";
import "./globals.css";
//import LanguageSwitcher from "@/components/header/LanguageSwitcher";
import { Providers } from "./ProviderWrapper";
import GoogleAuthWrapper from '@/components/GoogleAuthWrapper';
import { WishlistInitializer } from '@/components/WishlistInitializer';
import ScrollToTopPageChangeTime from '@/components/ScrollToTopPageChangeTime';

export const metadata: Metadata = {
  title: "Kanzy",
  description: "Generated by Kanzy",
  icons: {
    icon: '/favicon.svg',
    shortcut: '/favicon.svg',
    apple: '/favicon.svg',
  },
};

export const viewport: Viewport = {
  width: "device-width",
  initialScale: 1,
  maximumScale: 1,
  userScalable: false
};

export default async function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {

  const cookieStore = await cookies();
  const locale = cookieStore.get('NEXT_LOCALE')?.value || 'en';
  const messages = (await import(`../lang/${locale}.json`)).default;

  const direction = locale === 'ar' ? 'rtl' : 'ltr';
  
  return (
    <html lang={locale} dir={direction}  suppressHydrationWarning>
      <body id='page-wrapper'>
        <ScrollToTopPageChangeTime />
        <Providers>
          <NextIntlClientProvider locale={locale} messages={messages}>
            <GoogleAuthWrapper>
              <WishlistInitializer />
            </GoogleAuthWrapper>
            {children}
          </NextIntlClientProvider>
        </Providers>
      </body>
    </html>
  );
}

