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}
+
);
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 (