50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import { Metadata } from "next"
|
|
import { Bodoni_Moda, Work_Sans } from "next/font/google"
|
|
|
|
import { BRAND_TAGLINE, pageTitle } from "@lib/brand"
|
|
import { WishlistProvider } from "@lib/context/wishlist-context"
|
|
import { getBaseURL } from "@lib/util/env"
|
|
import "styles/globals.css"
|
|
|
|
const bodoniModa = Bodoni_Moda({
|
|
subsets: ["latin"],
|
|
variable: "--font-bodoni-moda",
|
|
display: "swap",
|
|
})
|
|
|
|
const workSans = Work_Sans({
|
|
subsets: ["latin"],
|
|
variable: "--font-work-sans",
|
|
display: "swap",
|
|
})
|
|
|
|
export const metadata: Metadata = {
|
|
metadataBase: new URL(getBaseURL()),
|
|
title: {
|
|
default: pageTitle(),
|
|
template: "%s",
|
|
},
|
|
description: BRAND_TAGLINE,
|
|
icons: {
|
|
icon: "/icon.png",
|
|
shortcut: "/icon.png",
|
|
apple: "/icon.png",
|
|
},
|
|
}
|
|
|
|
export default function RootLayout(props: { children: React.ReactNode }) {
|
|
return (
|
|
<html
|
|
lang="en"
|
|
data-mode="light"
|
|
className={`${bodoniModa.variable} ${workSans.variable}`}
|
|
>
|
|
<body className="bg-brand-bg text-brand-primary antialiased">
|
|
<WishlistProvider>
|
|
<main className="relative">{props.children}</main>
|
|
</WishlistProvider>
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|