import { PageHeader } from '@/compositions/PageHeader/PageHeader' import { Container } from '@/components/Container/Container' import { Section } from '@/components/Section/Section' import { NextPrevButtons } from '@/components/NextPrevButtons/NextPrevButtons' import { fetchMagazines } from '@/fetch/magazine' import { siteConfig } from '@/config/site' import { Media } from '@/payload-types' import Image from 'next/image' import styles from './styles.module.scss' export const dynamic = 'force-dynamic' type Props = { searchParams: Promise<{ page?: string }> } export default async function MagazinArchivPage({ searchParams }: Props) { const { page: pageParam } = await searchParams const page = Math.max(1, parseInt(pageParam ?? '1', 10) || 1) const result = await fetchMagazines(page) return ( <>
{result.docs.map((magazine) => { const cover = typeof magazine.cover === 'object' ? (magazine.cover as Media) : null const pdfUrl = typeof magazine.document === 'object' ? magazine.document.url ?? null : null if (!cover?.url || !pdfUrl) return null return ( {`${siteConfig.magazineName}`} ) })}
{result.docs.length === 0 &&

Keine Ausgaben gefunden.

}
{(result.hasPrevPage || result.hasNextPage) && (
)} ) }