Files
HaBit/app/layout.tsx
Harkamal Randhawa b8596eacee Improve readability and randomize guest landing pet.
Pair Share Tech Mono body text with Press Start 2P display accents, and show a randomized dressed pixel character for signed-out homepage previews.
2026-05-24 05:21:56 -06:00

63 lines
1.5 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import { Press_Start_2P, Share_Tech_Mono } from "next/font/google";
import { ThemeProvider } from "next-themes";
import { GlobalBottomNav } from "@/components/layout/global-bottom-nav";
import { ToastProvider } from "@/components/ui/toast-provider";
import "./globals.css";
const defaultUrl = process.env.VERCEL_URL
? `https://${process.env.VERCEL_URL}`
: "http://localhost:3000";
export const metadata: Metadata = {
metadataBase: new URL(defaultUrl),
title: "Habit Pet",
description: "Build habits, care for your pixel pet, and track wellness every day.",
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
viewportFit: "cover",
interactiveWidget: "resizes-content",
};
const pixelFont = Press_Start_2P({
weight: "400",
subsets: ["latin"],
variable: "--font-pixel",
display: "swap",
});
const bodyFont = Share_Tech_Mono({
weight: "400",
subsets: ["latin"],
variable: "--font-body",
display: "swap",
});
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${pixelFont.variable} ${bodyFont.variable} font-sans antialiased`}>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<ToastProvider>
{children}
<GlobalBottomNav />
</ToastProvider>
</ThemeProvider>
</body>
</html>
);
}