import { notFound } from 'next/navigation'
import { EventPage } from '@/pageComponents/Event/Event'
import { getPhoto } from '@/utils/dto/gallery'
import { canView, getRequestAuth } from '@/utils/auth'
import {
fetchOccurrenceById,
fetchUpcomingOccurrences,
} from '@/fetch/eventOccurrences'
import { RefreshRouteOnSave } from '@/components/RefreshRouteOnSave/RefreshRouteOnSave'
import { eventToPageProps, transformOccurrences } from '@/utils/dto/events'
export default async function Page({
params,
}: {
params: Promise<{ eventId: string; occurrenceId: string }>
}) {
const { eventId, occurrenceId } = await params
const { authenticated, isDraft } = await getRequestAuth()
const occurrence = await fetchOccurrenceById(occurrenceId, isDraft)
if (!occurrence) notFound()
const event = typeof occurrence.event === 'object' ? occurrence.event : undefined
if (!canView(event, authenticated)) notFound()
if (event.id !== eventId) notFound()
const photo = getPhoto('tablet', event.photo)
const upcomingRaw = await fetchUpcomingOccurrences({
eventId,
limit: 5,
fromDate: new Date(new Date(occurrence.date).getTime() + 1),
})
const upcomingOccurrences = transformOccurrences(upcomingRaw.docs)
return (
<>
{isDraft && }
>
)
}