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 React from 'react';
|
||||||
|
import dynamic from 'next/dynamic'; // <-- 1. On importe l'outil dynamique
|
||||||
import Navbar from '../components/Navbar';
|
import Navbar from '../components/Navbar';
|
||||||
import Footer from '../components/Footer';
|
import Footer from '../components/Footer';
|
||||||
import { Providers } from '../components/Providers'; // <-- L'astuce est ici !
|
|
||||||
import { getSiteSettings } from '../lib/settings';
|
import { getSiteSettings } from '../lib/settings';
|
||||||
import { Metadata } from 'next';
|
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';
|
||||||
|
|
||||||
|
// 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({
|
const inter = Inter({
|
||||||
subsets: ['latin'],
|
subsets: ['latin'],
|
||||||
variable: '--font-inter',
|
variable: '--font-inter',
|
||||||
@@ -19,7 +25,7 @@ const playfair = Playfair_Display({
|
|||||||
display: 'swap',
|
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> {
|
export async function generateMetadata(): Promise<Metadata> {
|
||||||
const settings = await getSiteSettings();
|
const settings = await getSiteSettings();
|
||||||
@@ -31,7 +37,7 @@ export async function generateMetadata(): Promise<Metadata> {
|
|||||||
canonical: '/',
|
canonical: '/',
|
||||||
},
|
},
|
||||||
icons: {
|
icons: {
|
||||||
icon: '/favicon.png', // Le favicon est géré proprement ici maintenant
|
icon: '/favicon.png',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user