import type { Metadata } from "next";
import { Space_Grotesk, Montserrat, Cairo } from "next/font/google";
import LenisProvider from "@/components/LenisProvider";
import { LanguageProvider } from "@/lib/i18n/context";
import "./globals.css";

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

const montserrat = Montserrat({
  variable: "--font-inter",
  subsets: ["latin"],
  weight: ["300", "400", "500", "600"],
});

const cairo = Cairo({
  variable: "--font-arabic",
  subsets: ["arabic"],
  weight: ["300", "400", "500", "600", "700"],
});

export const metadata: Metadata = {
  metadataBase: new URL("https://asli-food.com"),
  title: {
    default:  "Asli Food — Saveurs Authentiques de Mauritanie",
    template: "%s — Asli Food",
  },
  description:
    "Asli Food est une marque mauritanienne spécialisée dans les farines enrichies, fruits séchés, biscuits et pâtes. Des produits 100 % locaux, naturels et fortifiés en vitamines et minéraux.",
  keywords: [
    "Asli Food", "Mauritanie", "produits mauritaniens", "farines enrichies", "Njuumaan",
    "farines fortifiées", "fruits séchés", "Tejmakhtt", "biscuits mauritaniens", "Biscrotch",
    "alimentation naturelle", "vitamines minéraux", "Nouakchott", "épicerie mauritanienne",
  ],
  authors: [{ name: "Asli Food", url: "https://asli-food.com" }],
  creator: "Asli Food de la Mauritanie",
  robots: {
    index:  true,
    follow: true,
    googleBot: { index: true, follow: true },
  },
  icons: {
    icon: [
      { url: "/favicon/favicon.ico" },
      { url: "/favicon/favicon-16x16.png", sizes: "16x16", type: "image/png" },
      { url: "/favicon/favicon-32x32.png", sizes: "32x32", type: "image/png" },
    ],
    apple: { url: "/favicon/apple-touch-icon.png" },
    other: [{ rel: "manifest", url: "/favicon/site.webmanifest" }],
  },
  openGraph: {
    type:        "website",
    locale:      "fr_FR",
    url:         "https://asli-food.com",
    siteName:    "Asli Food",
    title:       "Asli Food — Saveurs Authentiques de Mauritanie",
    description: "Farines enrichies, fruits séchés, biscuits et pâtes — produits mauritaniens 100 % naturels et fortifiés.",
    images: [{
      url:    "/logo.png",
      width:  1200,
      height: 630,
      alt:    "Asli Food — Saveurs Authentiques de Mauritanie",
    }],
  },
  twitter: {
    card:        "summary_large_image",
    title:       "Asli Food — Saveurs Authentiques de Mauritanie",
    description: "Farines enrichies, fruits séchés, biscuits et pâtes — produits mauritaniens 100 % naturels.",
    images:      ["/logo.png"],
  },
};

const jsonLd = {
  "@context": "https://schema.org",
  "@type": "FoodEstablishment",
  name: "Asli Food de la Mauritanie",
  url: "https://asli-food.com",
  logo: "https://asli-food.com/logo.png",
  image: "https://asli-food.com/logo.png",
  description:
    "Marque mauritanienne spécialisée dans les farines enrichies, fruits séchés, biscuits et pâtes. Produits 100 % naturels et fortifiés en vitamines et minéraux.",
  address: {
    "@type": "PostalAddress",
    addressCountry: "MR",
    addressLocality: "Nouakchott",
  },
  contactPoint: {
    "@type": "ContactPoint",
    telephone: "+222-41-28-44-79",
    contactType: "customer service",
    availableLanguage: ["French", "Arabic"],
  },
  sameAs: [
    "https://www.facebook.com/p/Asli-Food-61578120753965/",
    "https://web.facebook.com/Njuumaan",
    "https://www.instagram.com/asli_food/",
    "https://www.tiktok.com/@asli__food",
  ],
};

export default function RootLayout({
  children,
}: Readonly<{ children: React.ReactNode }>) {
  return (
    <html lang="fr">
      <head>
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />
      </head>
      <body
        className={`${spaceGrotesk.variable} ${montserrat.variable} ${cairo.variable} antialiased`}
        style={{ fontFamily: "var(--font-inter, sans-serif)" }}
      >
        <LanguageProvider>
          <LenisProvider>{children}</LenisProvider>
        </LanguageProvider>
      </body>
    </html>
  );
}
