diff --git a/app/layout.tsx b/app/layout.tsx index 8ac1325..fcc2552 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,15 +1,16 @@ import React from 'react'; -import { DynamicProviders } from '../components/DynamicProviders'; +import Script from 'next/script'; import Navbar from '../components/Navbar'; import Footer from '../components/Footer'; -import { getSiteSettings } from '../lib/settings'; +import { UserProvider } from '../components/UserProvider'; +import AnalyticsTracker from '../components/AnalyticsTracker'; +import CookieBanner from '../components/CookieBanner'; import { Metadata } from 'next'; +import { Toaster } from 'react-hot-toast'; +import { getSiteSettings } from '../lib/settings'; import { Inter, Playfair_Display } from 'next/font/google'; import './globals.css'; -// 2. LA MAGIE EST ICI : On utilise un wrapper Client pour le no-SSR - - const inter = Inter({ subsets: ['latin'], variable: '--font-inter', @@ -22,7 +23,7 @@ const playfair = Playfair_Display({ display: 'swap', }); -export const dynamic = 'force-dynamic'; // Restauration du nom standard +export const dynamic = 'force-dynamic'; export async function generateMetadata(): Promise { const settings = await getSiteSettings(); @@ -33,37 +34,29 @@ export async function generateMetadata(): Promise { alternates: { canonical: '/', }, - icons: { - icon: '/favicon.png', - }, }; } -const isDev = process.env.NEXT_PUBLIC_APP_ENV === 'development'; -const devBrandOverride: React.CSSProperties | undefined = isDev ? { - '--color-brand-50': '#fef2f2', - '--color-brand-100': '#fee2e2', - '--color-brand-200': '#fecaca', - '--color-brand-500': '#ef4444', - '--color-brand-600': '#dc2626', - '--color-brand-700': '#b91c1c', - '--color-brand-900': '#7f1d1d', -} as React.CSSProperties : undefined; - export default async function RootLayout({ children }: { children: React.ReactNode }) { const settings = await getSiteSettings(); return ( - + + + + - + + +
{children}