import type { Metadata } from "next";
import { Fraunces, Source_Sans_3 } from "next/font/google";
import { AnnouncementBar } from "@/components/layout/AnnouncementBar";
import { Footer } from "@/components/layout/Footer";
import { Header } from "@/components/layout/Header";
import { Providers } from "@/context/providers";
import "./globals.css";

const source = Source_Sans_3({
  variable: "--font-source",
  subsets: ["latin"],
  weight: ["400", "500", "600", "700"],
});

const fraunces = Fraunces({
  variable: "--font-fraunces",
  subsets: ["latin"],
  weight: ["500", "600", "700"],
});

export const metadata: Metadata = {
  title: {
    default: "SiloMart — Honest bins. Quiet prices.",
    template: "%s · SiloMart",
  },
  description:
    "SiloMart is a neighborhood grocer: weekly crib circulars, limited Silo Drops, pickup, delivery, and aisle walk — mill-direct prices without the coupon maze.",
  icons: {
    icon: [{ url: "/favicon.png", type: "image/png" }],
  },
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html
      lang="en"
      className={`${source.variable} ${fraunces.variable} h-full bg-background`}
      suppressHydrationWarning
    >
      <body className="flex min-h-full flex-col bg-background text-foreground antialiased">
        <Providers>
          <AnnouncementBar />
          <Header />
          <main className="flex-1 bg-canvas bg-grain">{children}</main>
          <Footer />
        </Providers>
      </body>
    </html>
  );
}
