import { useSuspenseQuery } from '@tanstack/react-query' import { Link, createFileRoute } from '@tanstack/react-router' import { postQueryOptions } from '../utils/posts' import { NotFound } from '~/components/NotFound' import { PostErrorComponent } from '~/components/PostError' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { ArrowRight } from 'lucide-react' export const Route = createFileRoute('/posts/$postId')({ loader: ({ params: { postId }, context }) => context.queryClient.ensureQueryData(postQueryOptions(postId)), errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found }, }) function PostComponent() { const { postId } = Route.useParams() const { data: post } = useSuspenseQuery(postQueryOptions(postId)) return ( {post.title}

{post.body}

) }