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