import type { Metadata } from 'next';
import { Cabin, JetBrains_Mono } from 'next/font/google';
import './globals.css';
import { AuthProvider } from '../context/auth-context';

const cabin = Cabin({
  subsets: ['latin'],
  variable: '--font-cabin',
  display: 'swap',
});

const jetbrainsMono = JetBrains_Mono({
  subsets: ['latin'],
  variable: '--font-mono',
  display: 'swap',
});

export const metadata: Metadata = {
  title: 'WhatsApp Commerce Hub',
  description: 'Manage your WhatsApp shopping flows, synced products, orders, and payments.',
};

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en" className={`${cabin.variable} ${jetbrainsMono.variable}`} suppressHydrationWarning>
      <head>
        <link href="https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet" />
        <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap" rel="stylesheet" />
        <script dangerouslySetInnerHTML={{__html: `
          try {
            const t = localStorage.getItem('theme');
            if (t === 'light') {
              document.documentElement.classList.add('light');
            } else if (t === 'dark') {
              document.documentElement.classList.remove('light');
            } else {
              // First-time visitor: default to light theme and persist preference
              document.documentElement.classList.add('light');
              localStorage.setItem('theme', 'light');
            }
          } catch (_) {}
        `}} />
      </head>
      <body className={cabin.className}>
        <AuthProvider>
          {children}
        </AuthProvider>
      </body>
    </html>
  );
}
