import { useSuspenseQuery } from '@tanstack/react-query' import { createFileRoute } from '@tanstack/react-router' import { userQueryOptions } from '../utils/users' import { NotFound } from 'src/components/NotFound' import { UserErrorComponent } from 'src/components/UserError' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { Code, Mail } from 'lucide-react' export const Route = createFileRoute('/users/$userId')({ loader: ({ params: { userId }, context }) => context.queryClient.ensureQueryData(userQueryOptions(userId)), errorComponent: UserErrorComponent, component: UserComponent, notFoundComponent: () => { return User not found }, }) function UserComponent() { const { userId } = Route.useParams() const { data: user } = useSuspenseQuery(userQueryOptions(userId)) return ( {user.name}
{user.email}
) }