feat: initialize root layout with dynamic provider rendering and site metadata configuration

This commit is contained in:
2026-05-06 20:28:21 +02:00
parent 13c88dd4f7
commit a37b34f758

View File

@@ -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',
},
};
}