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}
)
}