Add home and CMS page routes
This commit is contained in:
@@ -1,10 +1,24 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { useSuspenseQuery } from '@tanstack/react-query'
|
||||
import { pageBySlugQuery } from '@/lib/queries'
|
||||
import { PageView } from '@/components/page-view'
|
||||
|
||||
export const Route = createFileRoute('/')({
|
||||
component: () => (
|
||||
<div className="p-8">
|
||||
<h1 className="text-3xl font-bold">Home</h1>
|
||||
<p className="text-muted-foreground">Routing placeholder — CMS page will render here.</p>
|
||||
</div>
|
||||
),
|
||||
loader: async ({ context: { queryClient } }) => {
|
||||
await queryClient.ensureQueryData(pageBySlugQuery('home'))
|
||||
},
|
||||
component: HomePage,
|
||||
})
|
||||
|
||||
function HomePage() {
|
||||
const { data: page } = useSuspenseQuery(pageBySlugQuery('home'))
|
||||
if (!page) {
|
||||
return (
|
||||
<div className="py-10">
|
||||
<h1 className="text-3xl font-bold">Welcome</h1>
|
||||
<p className="text-muted-foreground mt-2">No home page content configured in Directus.</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
return <PageView title={page.title} content={page.content} />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user