import { createFileRoute, redirect, useNavigate } from "@tanstack/react-router"; import { PairingPendingSurface, PairingRouteSurface } from "../components/auth/PairingRouteSurface"; import { ensurePrimaryEnvironmentReady, resolveInitialServerAuthGateState, } from "../environments/primary"; export const Route = createFileRoute("/pair")({ beforeLoad: async () => { const [, authGateState] = await Promise.all([ ensurePrimaryEnvironmentReady(), resolveInitialServerAuthGateState(), ]); if (authGateState.status === "authenticated") { throw redirect({ to: "/", replace: true }); } return { authGateState, }; }, component: PairRouteView, pendingComponent: PairRoutePendingView, }); function PairRouteView() { const { authGateState } = Route.useRouteContext(); const navigate = useNavigate(); if (!authGateState) { return null; } return ( { void navigate({ to: "/", replace: true }); }} {...(authGateState.errorMessage ? { initialErrorMessage: authGateState.errorMessage } : {})} /> ); } function PairRoutePendingView() { return ; }