"use client"; import { Home, ShoppingBag, Star, Trophy, User, Users } from "lucide-react"; import { useUIStore, type Screen } from "@/lib/ui-store"; import { useSessionStore } from "@/lib/session-store"; import { useI18n } from "@/lib/i18n"; import { cn } from "@/lib/cn"; type Item = { key: Screen; icon: typeof Home; label: string; authed?: boolean }; /** * UNO-style primary navigation. A vertical rail pinned to the side in landscape * (the app's main orientation) and a bottom tab bar in portrait. Active section * is highlighted gold and pulled forward. */ export function NavRail() { const screen = useUIStore((s) => s.screen); const go = useUIStore((s) => s.go); const isAuthed = useSessionStore((s) => s.isAuthed); const { t } = useI18n(); const items: Item[] = [ { key: "home", icon: Home, label: t("nav.home") }, { key: "profile", icon: User, label: t("menu.profile") }, { key: "shop", icon: ShoppingBag, label: t("menu.shop") }, { key: "friends", icon: Users, label: t("menu.friends"), authed: true }, { key: "leaderboard", icon: Trophy, label: t("menu.leaderboard") }, { key: "achievements", icon: Star, label: t("achv.title") }, ]; return ( ); }