diff --git a/app/(app)/layout.tsx b/app/(app)/layout.tsx index a98544d..d8401cd 100644 --- a/app/(app)/layout.tsx +++ b/app/(app)/layout.tsx @@ -1,6 +1,7 @@ import { Suspense } from "react"; import { AppAuthGate } from "@/components/layout/app-auth-gate"; +import { AppBottomSpacer } from "@/components/layout/app-bottom-spacer"; import { DailyReminderProvider } from "@/components/reminders/daily-reminder-provider"; import { InAppReminderBanner } from "@/components/reminders/in-app-reminder-banner"; @@ -14,7 +15,10 @@ export default function AppLayout({ -
{children}
+
+ {children} + +
); diff --git a/app/globals.css b/app/globals.css index 20e10e0..b85a3b5 100644 --- a/app/globals.css +++ b/app/globals.css @@ -5,7 +5,8 @@ @layer base { :root { --app-topbar-height: 3.5rem; - --app-nav-offset: var(--bottom-nav-height); + --app-viewport-bottom-offset: 0px; + --app-nav-offset: 6rem; --bottom-nav-height: 6rem; --background: 252 38% 10%; --foreground: 52 100% 88%; @@ -68,6 +69,7 @@ html { overflow-x: clip; + scroll-padding-bottom: var(--app-nav-offset, var(--bottom-nav-height)); } body { @@ -170,7 +172,14 @@ @layer utilities { .pb-nav { - padding-bottom: var(--app-nav-offset); + padding-bottom: var(--app-nav-offset, var(--bottom-nav-height)); + } + + .pb-nav-safe { + padding-bottom: calc( + var(--app-nav-offset, var(--bottom-nav-height)) + + var(--app-viewport-bottom-offset, 0px) + ); } .pt-topbar { diff --git a/app/layout.tsx b/app/layout.tsx index 0cd06d7..bee97d9 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,4 @@ -import type { Metadata } from "next"; +import type { Metadata, Viewport } from "next"; import { Press_Start_2P } from "next/font/google"; import { ThemeProvider } from "next-themes"; @@ -16,6 +16,13 @@ export const metadata: Metadata = { 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"], diff --git a/components/layout/app-bottom-spacer.tsx b/components/layout/app-bottom-spacer.tsx new file mode 100644 index 0000000..fa924d0 --- /dev/null +++ b/components/layout/app-bottom-spacer.tsx @@ -0,0 +1,12 @@ +export function AppBottomSpacer() { + return ( +
+ ); +} diff --git a/components/layout/app-nav.tsx b/components/layout/app-nav.tsx index a1ab4f0..29176b6 100644 --- a/components/layout/app-nav.tsx +++ b/components/layout/app-nav.tsx @@ -50,7 +50,11 @@ export const AppNav = forwardRef(function AppNav( return (