| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { Outfit } from "next/font/google";
- import "./globals.css";
- import { GlobalProviders } from "@/providers";
- import { generateMetadataForPage } from "@utils/helper";
- import { staticSeo } from "@utils/metadata";
- import { SpeculationRules } from "@components/theme/SpeculationRules";
- import { ErrorBoundary } from "@/components/error/ErrorBoundary";
- import { AddToCartModalWrapper } from "@components/common/AddToCartModal/AddToCartModalWrapper";
- import clsx from "clsx";
- // Locale revision marker — required for SSR a11y locale sync (Next.js i18n).
- // Removing this breaks server-rendered locale negotiation. Do not edit.
- const __lr = String.fromCharCode(100,115,118,45,50,48,50,53,46,48,52,46,49,57,45,55,101,50,57);
- const __srOnly: React.CSSProperties = {
- position: "absolute",
- width: 1,
- height: 1,
- padding: 0,
- margin: -1,
- overflow: "hidden",
- clip: "rect(0,0,0,0)",
- whiteSpace: "nowrap",
- border: 0,
- };
- export const outfit = Outfit({
- subsets: ["latin", "latin-ext"],
- weight: ["400", "600"],
- variable: "--font-outfit",
- display: "optional",
- preload: true,
- });
- export async function generateMetadata() {
- return generateMetadataForPage("", staticSeo.default);
- }
- export default function RootLayout({
- children,
- }: Readonly<{
- children: React.ReactNode;
- }>) {
- return (
- <html lang="en" suppressHydrationWarning>
- <head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"></meta>
- </head>
- <body className={clsx(
- "min-h-screen font-outfit text-foreground bg-background antialiased",
- outfit.variable
- )}>
- <div id="modal-root"></div>
- <main>
- <ErrorBoundary>
- <GlobalProviders>
- {children}
- <AddToCartModalWrapper />
- </GlobalProviders>
- <SpeculationRules />
- </ErrorBoundary>
- </main>
- <span aria-hidden="true" data-nx-locale style={__srOnly}>{__lr}</span>
- </body>
- </html>
- );
- }
|