mirror of
https://github.com/LukeHagar/better-auth.git
synced 2025-12-06 04:19:20 +00:00
64 lines
1.8 KiB
TypeScript
64 lines
1.8 KiB
TypeScript
import { Navbar } from "@/components/nav-bar";
|
|
import "./global.css";
|
|
import { RootProvider } from "fumadocs-ui/provider";
|
|
import type { ReactNode } from "react";
|
|
import { NavbarProvider } from "@/components/nav-mobile";
|
|
import { GeistMono } from "geist/font/mono";
|
|
import { GeistSans } from "geist/font/sans";
|
|
import { baseUrl, createMetadata } from "@/lib/metadata";
|
|
import { Analytics } from "@vercel/analytics/react";
|
|
import { ThemeProvider } from "@/components/theme-provider";
|
|
|
|
export const metadata = createMetadata({
|
|
title: {
|
|
template: "%s | Better Auth",
|
|
default: "Better Auth",
|
|
},
|
|
description: "The most comprehensive authentication library for TypeScript.",
|
|
metadataBase: baseUrl,
|
|
});
|
|
|
|
export default function Layout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<head>
|
|
<link rel="icon" href="/favicon/favicon.ico" sizes="any" />
|
|
<script
|
|
dangerouslySetInnerHTML={{
|
|
__html: `
|
|
try {
|
|
if (localStorage.theme === 'dark' || ((!('theme' in localStorage) || localStorage.theme === 'system') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
|
document.querySelector('meta[name="theme-color"]').setAttribute('content')
|
|
}
|
|
} catch (_) {}
|
|
`,
|
|
}}
|
|
/>
|
|
</head>
|
|
<body
|
|
className={`${GeistSans.variable} ${GeistMono.variable} bg-background font-sans relative `}
|
|
>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="dark"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
<RootProvider
|
|
theme={{
|
|
enableSystem: true,
|
|
defaultTheme: "dark",
|
|
}}
|
|
>
|
|
<NavbarProvider>
|
|
<Navbar />
|
|
{children}
|
|
</NavbarProvider>
|
|
</RootProvider>
|
|
<Analytics />
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|