import { createFileRoute, useNavigate } from "@tanstack/react-router"; import { useEffect } from "react"; import { useMutation } from "@tanstack/react-query"; import { getOrCreateDefaultProject } from "@/serverFunctions/projects"; import { getErrorCode, getStandardErrorMessage, } from "@/client/lib/error-messages"; import { AuthConfigErrorCard } from "@/client/components/AuthConfigErrorCard"; import { UnauthenticatedErrorCard } from "@/client/components/UnauthenticatedErrorCard"; export const Route = createFileRoute("/_app/")({ component: IndexRedirect, }); function IndexRedirect() { const navigate = useNavigate(); const { mutate, error, isError } = useMutation({ mutationFn: () => getOrCreateDefaultProject(), onSuccess: (project) => { void navigate({ to: "/p/$projectId/keywords", params: { projectId: project.id }, }); }, }); useEffect(() => { mutate(); }, [mutate]); if (isError) { const errorCode = getErrorCode(error); if (errorCode === "AUTH_CONFIG_MISSING") { return (
{ mutate(); }} />
); } if (errorCode === "UNAUTHENTICATED") { return (
{ mutate(); }} />
); } return (

{getStandardErrorMessage( error, "An unexpected error occurred. Please check server logs.", )}

); } return (
); }