import type { Metadata } from "next";
import "./globals.css";
import { DemoStoreProvider } from "@/components/shop/demo-store";
import { AccountProvider } from "@/components/account/account-store";
import { SiteSettingsProvider } from '@/components/layout/site-settings';
import { loadSiteSettings } from '@/lib/load-site-settings';
export const dynamic = 'force-dynamic';

const defaultMetadata: Metadata = {
  title: "Fashion Mart — Wear your everyday",
  description: "Find your everyday favourites. Discover the Fashion Mart collections for men, women, kids and active days.",
};

export async function generateMetadata(): Promise<Metadata> {
  const settings = await loadSiteSettings();
  return settings.general ? { title: settings.general.title, description: settings.general.description } : defaultMetadata;
}

export default async function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
  const settings = await loadSiteSettings();
  return <html lang="en"><body><SiteSettingsProvider settings={settings}><AccountProvider><DemoStoreProvider>{children}</DemoStoreProvider></AccountProvider></SiteSettingsProvider></body></html>;
}
