import { authClient } from "@/lib/auth-client"; import { queries } from "@/shared/src"; import { useQuery } from "@rocicorp/zero/react"; import { Link, usePathname, useRouter, type LinkProps } from "expo-router"; import { useEffect } from "react"; import { View, Text, Platform } from "react-native"; type Page = { name: string, href: LinkProps['href'] }; const PAGES: Page[] = [ { name: "Home", href: "/", }, { name: "Settings", href: "/settings", }, ]; export default function Header() { const router = useRouter(); const { data: session } = authClient.useSession(); const [user] = useQuery(queries.me(session)); useEffect(() => { if (Platform.OS != 'web') return; const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "1" && event.ctrlKey) { router.push(PAGES.at(0)!.href); } else if (event.key === "2" && event.ctrlKey) { router.push(PAGES.at(1)!.href); } }; window.addEventListener("keydown", handleKeyDown); return () => { window.removeEventListener("keydown", handleKeyDown); }; }, []); return ( {PAGES.map(page => )} {user?.name} ); } function Page({ name, href }: Page) { const path = usePathname(); return ( {path == href ? `[ ${name} ]` : ` ${name} `} ) }