import { useQuery } from '@tanstack/react-query'; import { createFileRoute, Link, redirect } from '@tanstack/react-router'; import { BoxSelectIcon } from 'lucide-react'; import { ButtonContainer } from '@/components/button-container'; import { FullPageEmptyState } from '@/components/full-page-empty-state'; import FullPageLoadingState from '@/components/full-page-loading-state'; import VerifyListener from '@/components/onboarding/onboarding-verify-listener'; import { VerifyFaq } from '@/components/onboarding/verify-faq'; import { LinkButton } from '@/components/ui/button'; import { useTRPC } from '@/integrations/trpc/react'; import { cn } from '@/lib/utils'; import { createEntityTitle, PAGE_TITLES } from '@/utils/title'; export const Route = createFileRoute('/_steps/onboarding/$projectId/verify')({ head: () => ({ meta: [{ title: createEntityTitle('Verify', PAGE_TITLES.ONBOARDING) }], }), beforeLoad: ({ context }) => { if (!context.session?.session) { throw redirect({ to: '/onboarding' }); } }, component: Component, loader: async ({ context, params }) => { await context.queryClient.prefetchQuery( context.trpc.project.getProjectWithClients.queryOptions({ projectId: params.projectId, }) ); }, pendingComponent: FullPageLoadingState, }); function Component() { const { projectId } = Route.useParams(); const trpc = useTRPC(); const { data: events } = useQuery( trpc.event.events.queryOptions( { projectId }, { refetchInterval: 2500, } ) ); const isVerified = events?.data && events.data.length > 0; const { data: project } = useQuery( trpc.project.getProjectWithClients.queryOptions({ projectId }) ); if (!project) { return ( ); } const client = project.clients[0]; if (!client) { return ; } return (
Back
{!isVerified && ( Skip for now )} Your dashboard
); }