ajout provider pour rendre le layout dynamique
This commit is contained in:
@@ -1,13 +1,9 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Script from 'next/script';
|
|
||||||
import Navbar from '../components/Navbar';
|
import Navbar from '../components/Navbar';
|
||||||
import Footer from '../components/Footer';
|
import Footer from '../components/Footer';
|
||||||
import { UserProvider } from '../components/UserProvider';
|
import { Providers } from '../components/Providers'; // <-- L'astuce est ici !
|
||||||
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 { getSiteSettings } from '../lib/settings';
|
||||||
|
import { Metadata } from 'next';
|
||||||
import { Inter, Playfair_Display } from 'next/font/google';
|
import { Inter, Playfair_Display } from 'next/font/google';
|
||||||
import './globals.css';
|
import './globals.css';
|
||||||
|
|
||||||
@@ -34,6 +30,9 @@ export async function generateMetadata(): Promise<Metadata> {
|
|||||||
alternates: {
|
alternates: {
|
||||||
canonical: '/',
|
canonical: '/',
|
||||||
},
|
},
|
||||||
|
icons: {
|
||||||
|
icon: '/favicon.png', // Le favicon est géré proprement ici maintenant
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,20 +52,14 @@ export default async function RootLayout({ children }: { children: React.ReactNo
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang="fr" className={`${inter.variable} ${playfair.variable}`} style={devBrandOverride} suppressHydrationWarning>
|
<html lang="fr" className={`${inter.variable} ${playfair.variable}`} style={devBrandOverride} suppressHydrationWarning>
|
||||||
<head>
|
|
||||||
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
||||||
</head>
|
|
||||||
<body className="bg-gray-50 text-gray-900 antialiased min-h-screen flex flex-col font-sans" suppressHydrationWarning>
|
<body className="bg-gray-50 text-gray-900 antialiased min-h-screen flex flex-col font-sans" suppressHydrationWarning>
|
||||||
<UserProvider>
|
<Providers>
|
||||||
<Toaster position="top-right" />
|
|
||||||
<AnalyticsTracker />
|
|
||||||
<Navbar settings={settings} />
|
<Navbar settings={settings} />
|
||||||
<main className="flex-grow">
|
<main className="flex-grow">
|
||||||
{children}
|
{children}
|
||||||
</main>
|
</main>
|
||||||
<Footer settings={settings} />
|
<Footer settings={settings} />
|
||||||
<CookieBanner />
|
</Providers>
|
||||||
</UserProvider>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
|
|||||||
18
components/Providers.tsx
Normal file
18
components/Providers.tsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
import { Toaster } from 'react-hot-toast';
|
||||||
|
import { UserProvider } from './UserProvider';
|
||||||
|
import AnalyticsTracker from './AnalyticsTracker';
|
||||||
|
import CookieBanner from './CookieBanner';
|
||||||
|
|
||||||
|
export function Providers({ children }: { children: React.ReactNode }) {
|
||||||
|
return (
|
||||||
|
<UserProvider>
|
||||||
|
<Toaster position="top-right" />
|
||||||
|
<AnalyticsTracker />
|
||||||
|
{children}
|
||||||
|
<CookieBanner />
|
||||||
|
</UserProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user