import "./globals.css";
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import { Toaster } from "@/components/ui/toaster";
import { getBasicDetails } from "@/lib/api/apis";
import React from "react";
import { BasicProvider } from "./context/BasicContext";
import { Providers } from "./providers";
import { DonationProvider } from "@/context/DonationContext";
import { LanguageProvider } from "@/src/hooks/LanguageContext";
import FloatingAIChat from "@/components/FloatingAIChat";
import { AnnouncementProvider } from "./context/AnnouncementContext";

const inter = Inter({ subsets: ["latin"] });
export const revalidate = 3600; // re-fetch layout data every 1 hour max

//if (process.env.NODE_ENV === "production") {
//  console.error = () => {};
//}

export const metadata: Metadata = {
  title: "Bhagavad Gita Olympiad",
  description:
    "Learn the wisdom of Bhagavad Gita through our free online courses, spiritual mentorship, and comprehensive study materials.",
};

export default async function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  const res = await getBasicDetails();
  const basic = res?.data;

  return (
    <html lang="en">
      <body className={inter.className}>
        <Providers>
          <LanguageProvider>
            {/* 🌍 Global App Data */}
            <BasicProvider basic={basic}>
              <DonationProvider>
                <AnnouncementProvider>
                  <Header />
                  <main className="min-h-screen">{children}</main>
                </AnnouncementProvider>
              </DonationProvider>
            </BasicProvider>
            {/* <FloatingAIChat /> */}
            <Footer />
            <Toaster />
          </LanguageProvider>
        </Providers>
      </body>
    </html>
  );
}
