diff --git a/public/app-preview-feed.jpg b/public/app-preview-feed.jpg new file mode 100644 index 0000000..a3bcbfb Binary files /dev/null and b/public/app-preview-feed.jpg differ diff --git a/src/app/page.tsx b/src/app/page.tsx index 0632d02..c2fff5b 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,65 +1,151 @@ import { auth } from "@clerk/nextjs/server"; import { redirect } from "next/navigation"; import Link from "next/link"; -import { PawPrint } from "lucide-react"; +import Image from "next/image"; +import { PawPrint, Sparkles, HeartPulse, MessageCircle, Images } from "lucide-react"; +import { LanguageSwitcher } from "@/components/i18n/LanguageSwitcher"; /** * Root route (/) — public landing page for logged-out visitors, redirects * to /feed for authenticated ones (D-04). * * Previously an unconditional redirect("/feed"), gated entirely by - * proxy.ts's auth.protect() — meaning logged-out visitors (and social-media - * crawlers scraping og:image for link previews) got bounced straight to - * Clerk's hosted sign-in page before Next.js ever rendered this route's - * metadata. proxy.ts now leaves "/" out of the protected matcher so this - * page can render for everyone; the redirect-when-authenticated check - * happens here instead via a plain auth() read (not .protect()). + * proxy.ts's auth.protect() — so logged-out visitors AND social-media + * crawlers scraping og:image for link previews got bounced to Clerk's + * hosted sign-in before Next.js ever rendered this route's metadata. + * proxy.ts now leaves "/" out of the protected matcher so this page can + * render for everyone; the redirect-when-authenticated check happens here + * instead via a plain auth() read (not .protect()). */ export default async function RootPage() { const { userId } = await auth(); if (userId) redirect("/feed"); + const features = [ + { + icon: PawPrint, + title: "Pets, not humans, are the profile", + body: "Every dog, cat, or bird gets its own identity — its own posts, followers, and story, separate from its owner's.", + }, + { + icon: Images, + title: "Posts, stories & short video", + body: "Photos, short-form video, and 24-hour stories — all built around what your pet is up to.", + }, + { + icon: HeartPulse, + title: "Health tracking", + body: "Weight logs, vet visits, and vaccine records in one place — shareable with a vet via a private link.", + }, + { + icon: MessageCircle, + title: "Pet-to-pet messaging", + body: "Direct messages happen between pets, not owners — matching how the whole platform is built.", + }, + ] as const; + return ( -
- Where pets are the stars. Profiles, posts, and stories — built for dogs, cats, and birds. -
++ Where pets are the stars. Profiles, posts, and stories — built for dogs, cats, and birds. +
-{body}
+