spb/phi-conseil
Public
1import type { Metadata, Viewport } from "next";2import { EB_Garamond, Figtree } from "next/font/google";3import { site } from "@/lib/content";4import { siteUrl } from "@/lib/env";5import { Header } from "@/components/layout/Header";6import { Footer } from "@/components/layout/Footer";7import { CookieConsent } from "@/components/consent/CookieConsent";8import "./globals.css";910const garamond = EB_Garamond({11 variable: "--font-eb-garamond",12 subsets: ["latin", "latin-ext"],13 weight: ["400", "500", "600"],14 style: ["normal", "italic"],15 display: "swap",16});1718const figtree = Figtree({19 variable: "--font-figtree",20 subsets: ["latin", "latin-ext"],21 weight: ["400", "500", "600"],22 display: "swap",23});2425export const metadata: Metadata = {26 metadataBase: new URL(siteUrl(site.seo.siteUrl)),27 title: { default: site.seo.defaultTitle, template: site.seo.titleTemplate },28 description: site.seo.defaultDescription,29 applicationName: site.brand.name,30 openGraph: {31 type: "website",32 locale: site.seo.locale,33 siteName: site.brand.name,34 title: site.seo.defaultTitle,35 description: site.seo.defaultDescription,36 },37 twitter: { card: "summary_large_image" },38 robots: { index: true, follow: true },39};4041export const viewport: Viewport = {42 themeColor: "#f5eee4",43 width: "device-width",44 initialScale: 1,45};4647export default function RootLayout({ children }: { children: React.ReactNode }) {48 return (49 <html lang="fr-CA" className={`${garamond.variable} ${figtree.variable} h-full antialiased`}>50 <body className="flex min-h-full flex-col">51 <a href="#contenu" className="skip-link">52 Aller au contenu53 </a>54 <Header />55 <main id="contenu" className="flex-1">56 {children}57 </main>58 <Footer />59 <CookieConsent texts={site.cookies} />60 </body>61 </html>62 );63}64