import { useEffect } from "react" import { createFileRoute, redirect, useNavigate } from "@tanstack/react-router" import { useLiveQuery } from "@tanstack/react-db" import { authClient } from "@/lib/auth-client" import { usersCollection } from "@/lib/collections" export const Route = createFileRoute("/users")({ ssr: false, beforeLoad: async () => { const res = await authClient.getSession() if (!res.data?.session) { throw redirect({ to: "/login" }) } }, loader: async () => { await usersCollection.preload() return null }, component: UsersPage, }) function UsersPage() { const navigate = useNavigate() const { data: session } = authClient.useSession() const { data: users } = useLiveQuery((q) => q.from({ usersCollection })) useEffect(() => { if (!session?.session) { navigate({ to: "/login" }) } }, [navigate, session]) if (!session?.session) { return null } return (
Signed in as
{session.user.email ?? session.user.id}
{user.name || user.email}
{user.email}