feat: initialize root layout with dynamic provider rendering and site metadata configuration
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
import React from 'react';
|
||||
import dynamic from 'next/dynamic'; // <-- 1. On importe l'outil dynamique
|
||||
import Navbar from '../components/Navbar';
|
||||
import Footer from '../components/Footer';
|
||||
import { Providers } from '../components/Providers'; // <-- L'astuce est ici !
|
||||
import { getSiteSettings } from '../lib/settings';
|
||||
import { Metadata } from 'next';
|
||||
import { Inter, Playfair_Display } from 'next/font/google';
|
||||
import './globals.css';
|
||||
|
||||
// 2. LA MAGIE EST ICI : On force Next.js à ignorer les Providers pendant le build serveur
|
||||
const Providers = dynamic(
|
||||
() => import('../components/Providers').then((mod) => mod.Providers),
|
||||
{ ssr: false } // Interdit le Server-Side Rendering pour tout ce qui est dedans !
|
||||
);
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-inter',
|
||||
@@ -19,7 +25,7 @@ const playfair = Playfair_Display({
|
||||
display: 'swap',
|
||||
});
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
export const dynamicMode = 'force-dynamic'; // Renommé pour éviter les conflits de variables
|
||||
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
const settings = await getSiteSettings();
|
||||
@@ -31,7 +37,7 @@ export async function generateMetadata(): Promise<Metadata> {
|
||||
canonical: '/',
|
||||
},
|
||||
icons: {
|
||||
icon: '/favicon.png', // Le favicon est géré proprement ici maintenant
|
||||
icon: '/favicon.png',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user