SPB Git

Repository Public

page.tsx 1.0 KB 30 lines tsx

1'use client';2import { useEffect } from 'react';3import { useRouter } from 'next/navigation';4import { useAuthStatus } from '@/lib/queries';5import { Spinner } from '@/components/ui/misc';6import { Button } from '@/components/ui/button';78/** `/` only redirects (client-side): setup → login → home. */9export default function RootPage() {10  const auth = useAuthStatus();11  const router = useRouter();12  useEffect(() => {13    if (!auth.data) return;14    router.replace(auth.data.setupRequired ? '/setup/' : auth.data.authenticated ? '/home/' : '/login/');15  }, [auth.data, router]);16  return (17    <div className="app-viewport flex flex-col items-center justify-center gap-3 text-center">18      {auth.isError ? (19        <>20          <p className="text-sm font-medium">The server is not reachable</p>21          <p className="text-xs text-text-2">Missions keep running on the server.</p>22          <Button onClick={() => auth.refetch()}>Retry</Button>23        </>24      ) : (25        <Spinner />26      )}27    </div>28  );29}30
Files main
Menu

Theme