import { Section } from '@/components/Section/Section' import { Container } from '@/components/Container/Container' import { Title } from '@/components/Title/Title' import { TextDiv } from '@/components/Text/TextDiv' import { Blog } from '@/payload-types' import { notFound } from 'next/navigation' import { readableDateTime } from '@/utils/readableDate' import { HR } from '@/components/HorizontalRule/HorizontalRule' import Image from 'next/image' import styles from './styles.module.scss' import { Blocks } from '@/compositions/Blocks/Blocks' import { canView, getRequestAuth } from '@/utils/auth' import { AdminMenu } from '@/components/AdminMenu/AdminMenu' import { RefreshRouteOnSave } from '@/components/RefreshRouteOnSave/RefreshRouteOnSave' import { fetchBlog } from '@/fetch/blog' export default async function BlogPage({ params }: { params: Promise<{id: string}>}){ const id = (await params).id; const { authenticated, isDraft } = await getRequestAuth() const data = await fetchBlog(id, isDraft) as Blog; const url = typeof data.photo === 'object' && data.photo?.sizes?.banner?.url; if (!canView(data, authenticated)) notFound() // determine if some margin at the bottom should be added const length = data.content.content.length; const shouldAddMargin = data.content.content[length - 1].blockType === "text" return ( <> {isDraft && } Publiziert am {readableDateTime(data.createdAt)} { typeof url === "string" && } > ) }
Publiziert am {readableDateTime(data.createdAt)}