"use client"; import styles from "./eventItem.module.scss"; import Link from "next/link"; import Image from "../general/Image"; import { SingularEvent, EventFragment, getFutureOccurrences, } from "@/lib/event"; import { formatDate, formatExtendedDateTime } from "@/lib/date"; const DATES_TO_SHOW = 2; export const EventItem = ({ event, mode, size, }: { event: SingularEvent | EventFragment; mode: "list" | "calendar" | "singular"; size?: "small" | "medium" | "large"; }) => { const futureOccurrences = getFutureOccurrences(event); const numOccurrences = event?.occurrences?.length ?? 0; const nextOccurrence = numOccurrences ? futureOccurrences[0] : null; const featuredImage: any = event.featuredImage; return (
  • {featuredImage && ( {featuredImage.alt} )}
    {mode === "list" && nextOccurrence && (
    {futureOccurrences.slice(0, DATES_TO_SHOW).map((occurrence) => ( {formatDate(occurrence.start, "d. MMMM")} ))} {futureOccurrences.length > DATES_TO_SHOW && ( {`+${ futureOccurrences.length - DATES_TO_SHOW }`} )}
    )} {mode === "singular" && "occurrence" in event && event.occurrence?.start && (

    {formatExtendedDateTime(event.occurrence.start)}

    )} {mode === "calendar" && "occurrence" in event && event.occurrence?.start && (

    {formatDate(event.occurrence?.start, "'kl.' HH:mm")}

    )}

    {event.title}

    Evt. andre detaljer

    Mer om arrangementet {event.title}
  • ); };