79 lines
2.2 KiB
TypeScript
79 lines
2.2 KiB
TypeScript
import { headers as getHeaders } from 'next/headers.js'
|
|
import Image from 'next/image'
|
|
import { getPayload } from 'payload'
|
|
import type { Payload } from 'payload'
|
|
import React from 'react'
|
|
import { fileURLToPath } from 'url'
|
|
|
|
import config from '@/payload.config'
|
|
import './styles.css'
|
|
import { RichText } from '@payloadcms/richtext-lexical/react'
|
|
|
|
export default async function HomePage() {
|
|
const headers = await getHeaders()
|
|
const payloadConfig = await config
|
|
const payload = await getPayload({ config: payloadConfig })
|
|
const { user } = await payload.auth({ headers })
|
|
|
|
const fileURL = `vscode://file/${fileURLToPath(import.meta.url)}`
|
|
|
|
const homePage = await payload.find({
|
|
collection: 'pages',
|
|
where: {
|
|
title: {
|
|
equals: 'Home',
|
|
},
|
|
},
|
|
})
|
|
|
|
const page = homePage.docs?.[0]
|
|
|
|
console.log(page)
|
|
|
|
return (
|
|
<div className="home">
|
|
<div className="">
|
|
<h1 className='text-4xl font-bold'>{page.title}</h1>
|
|
{page.richText && (
|
|
<RichText data={page.richText}/>
|
|
)}
|
|
<picture>
|
|
<source srcSet="https://raw.githubusercontent.com/payloadcms/payload/main/packages/ui/src/assets/payload-favicon.svg" />
|
|
<Image
|
|
alt="Payload Logo"
|
|
height={65}
|
|
src="https://raw.githubusercontent.com/payloadcms/payload/main/packages/ui/src/assets/payload-favicon.svg"
|
|
width={65}
|
|
/>
|
|
</picture>
|
|
{!user && <h1>Welcome to your new project.</h1>}
|
|
{user && <h1>Welcome back, {user.email}</h1>}
|
|
<div className="links">
|
|
<a
|
|
className="admin"
|
|
href={payloadConfig.routes.admin}
|
|
rel="noopener noreferrer"
|
|
target="_blank"
|
|
>
|
|
Go to admin panel
|
|
</a>
|
|
<a
|
|
className="docs"
|
|
href="https://payloadcms.com/docs"
|
|
rel="noopener noreferrer"
|
|
target="_blank"
|
|
>
|
|
Documentation
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div className="footer">
|
|
<p>Update this page by editing</p>
|
|
<a className="codeLink" href={fileURL}>
|
|
<code>app/(frontend)/page.tsx</code>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|