From 2ad9e42f3fdb321842e76f4f9fa75a4eb22a4f27 Mon Sep 17 00:00:00 2001 From: masongga Date: Sat, 23 May 2026 15:09:49 -0600 Subject: [PATCH] setting up files --- app/(app)/avatar/page.tsx | 113 ++++++++++++++++ app/(app)/daily/quiz/page.tsx | 56 ++++++++ app/(app)/layout.tsx | 15 +++ app/(app)/profile/page.tsx | 72 ++++++++++ app/(app)/shop/page.tsx | 66 +++++++++ app/auth/confirm/route.ts | 3 +- app/layout.tsx | 2 +- app/onboarding/layout.tsx | 15 +++ app/onboarding/quiz/page.tsx | 148 +++++++++++++++++++++ app/page.tsx | 129 +++++++++++------- app/protected/page.tsx | 40 +----- components/auth-button.tsx | 15 ++- components/avatar/pixel-avatar.tsx | 52 ++++++++ components/layout/app-auth-gate.tsx | 10 ++ components/layout/app-nav.tsx | 48 +++++++ components/layout/app-shell.tsx | 28 ++++ components/layout/logged-in-redirect.tsx | 19 +++ components/layout/onboarding-auth-gate.tsx | 21 +++ components/layout/site-header.tsx | 38 ++++++ components/login-form.tsx | 6 +- components/sign-up-form.tsx | 4 +- lib/auth-helpers.ts | 43 ++++++ lib/routes.ts | 28 ++++ lib/supabase/proxy.ts | 15 +-- package-lock.json | 3 +- 25 files changed, 881 insertions(+), 108 deletions(-) create mode 100644 app/(app)/avatar/page.tsx create mode 100644 app/(app)/daily/quiz/page.tsx create mode 100644 app/(app)/layout.tsx create mode 100644 app/(app)/profile/page.tsx create mode 100644 app/(app)/shop/page.tsx create mode 100644 app/onboarding/layout.tsx create mode 100644 app/onboarding/quiz/page.tsx create mode 100644 components/avatar/pixel-avatar.tsx create mode 100644 components/layout/app-auth-gate.tsx create mode 100644 components/layout/app-nav.tsx create mode 100644 components/layout/app-shell.tsx create mode 100644 components/layout/logged-in-redirect.tsx create mode 100644 components/layout/onboarding-auth-gate.tsx create mode 100644 components/layout/site-header.tsx create mode 100644 lib/auth-helpers.ts create mode 100644 lib/routes.ts diff --git a/app/(app)/avatar/page.tsx b/app/(app)/avatar/page.tsx new file mode 100644 index 0000000..06f95a6 --- /dev/null +++ b/app/(app)/avatar/page.tsx @@ -0,0 +1,113 @@ +import Link from "next/link"; + +import { PixelAvatar } from "@/components/avatar/pixel-avatar"; +import { AppShell } from "@/components/layout/app-shell"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Checkbox } from "@/components/ui/checkbox"; +import { Label } from "@/components/ui/label"; +import { routes } from "@/lib/routes"; + +const placeholderHabits = [ + { id: "water", label: "Drink water", streak: 3 }, + { id: "walk", label: "Take a walk", streak: 5 }, + { id: "sleep", label: "Sleep 7+ hours", streak: 2 }, +]; + +export default function AvatarPage() { + return ( + +
+ + + +

+ Your pet reacts to habits, wellness check-ins, and journal entries. +

+
+
+ + + + Today's habits + + Custom checkmarks and streak tracking live here. + + + + {placeholderHabits.map((habit) => ( +
+
+ + +
+ {habit.streak} day streak +
+ ))} +
+
+ + + + Wellness check-in + Rate how you feel today. + + + {[ + { id: "energy", label: "Energy" }, + { id: "mood", label: "Mood" }, + { id: "stress", label: "Stress" }, + ].map((metric) => ( +
+
+ + 5/10 +
+ +
+ ))} +
+
+ + + + Daily journal + + One entry per day to reflect and help your pet grow. + + + +