import { fetchEvents } from '@/fetch/events' import { PageHeader } from '@/compositions/PageHeader/PageHeader' import { Section } from '@/components/Section/Section' import { Container } from '@/components/Container/Container' import { Title } from '@/components/Title/Title' import { NextPrevButtons } from '@/components/NextPrevButtons/NextPrevButtons' import moment from 'moment' import { transformEvents } from '@/utils/dto/events' import { weekNumber } from '@/utils/week' import { EventRow } from '@/components/EventRow/EventRow' import { fetchHighlightsBetweenDates } from '@/fetch/highlights' import { Row } from '@/components/Flex/Row' import { Col } from '@/components/Flex/Col' import { highlightLink } from '@/utils/dto/highlight' import Error from '@/pages/_error' export default async function EventsPage({searchParams}: { searchParams: Promise<{ week: string | undefined }> }) { const query = await searchParams; const limit = 100; let week = query.week; if (!week) { week = weekNumber(moment()); } const fromDate = moment(week, true); if (!fromDate.isValid()) { return } const toDate = moment(week).add(1, 'week'); const lastWeek = moment(week).subtract(1, 'week'); const paginatedEvents = await fetchEvents( { limit: limit, fromDate: fromDate.toDate(), toDate: toDate.toDate() } ); const paginatedHighlights = ((await fetchHighlightsBetweenDates( fromDate.toDate(), toDate.toDate(), ))?.docs) || []; if (!paginatedEvents) { return ; } const events = transformEvents(paginatedEvents.docs) return ( <> {events.map(e => )} {events.length == 0 && Keine Veranstaltungen gefunden } { paginatedHighlights.length > 0 && <> { paginatedHighlights.map(h => )} > } > ) }
Keine Veranstaltungen gefunden