diff --git a/web/src/components/events/DateList.tsx b/web/src/components/events/DateList.tsx index 7fab56b..19e7cf5 100644 --- a/web/src/components/events/DateList.tsx +++ b/web/src/components/events/DateList.tsx @@ -12,7 +12,6 @@ import styles from "./dateList.module.scss"; import Link from "next/link"; const DateListItem = ({ occurrence }: { occurrence: EventOccurrence }) => { - const dateFormat = "EEEE d. MMMM yyyy"; const timeFormat = "'kl.' HH:mm"; const wholeCastle = occurrence.venue?.slug === "hele-huset"; @@ -43,24 +42,26 @@ const DateListItem = ({ occurrence }: { occurrence: EventOccurrence }) => { }; export const DateList = ({ event }: { event: EventFragment }) => { - const [showPast, setShowPast] = useState(false); - - const futureOccurrences = event.occurrences - .filter((occurrence) => isTodayOrFuture(occurrence.start)) - .sort((a, b) => compareDates(a.start, b.start)); - const pastOccurrences = event.occurrences - .filter((occurrence) => !isTodayOrFuture(occurrence.start)) - .sort((a, b) => compareDates(a.start, b.start)); - - // TODO: events occurring once - // TODO: end date/time? - // TODO: past occurrences? - const [showAllDates, setShowAllDates] = useState(false); function toggleDates() { setShowAllDates(!showAllDates); } + const oneOff = event.occurrences.length === 1; + const showToggle = event.occurrences.length > 4; + const futureOccurrences = event.occurrences + .filter((occurrence) => isTodayOrFuture(occurrence.start)) + .sort((a, b) => compareDates(a.start, b.start)); + + let visibleOccurrences = []; + if (oneOff || showAllDates || event.occurrences.length <= 4) { + visibleOccurrences = event.occurrences; + } else { + visibleOccurrences = futureOccurrences.slice(0, 4); + } + + // TODO: end date/time? + return (
@@ -69,42 +70,23 @@ export const DateList = ({ event }: { event: EventFragment }) => { Sted
- {futureOccurrences.length > 4 && ( + {showToggle && (
)} - {/*
setShowPast(!showPast)}> - {showPast ? "Skjul" : "Vis"} tidligere -
- {showPast && ( - <> -

- - - - Tidligere datoer{" "} - ({pastOccurrences.length}) -

- - - )} */}
); }; diff --git a/web/src/lib/date.ts b/web/src/lib/date.ts index 04081ee..7730e10 100644 --- a/web/src/lib/date.ts +++ b/web/src/lib/date.ts @@ -42,8 +42,8 @@ export function formatExtendedDateTime( // year included if not current year const parsed = toLocalTime(date); const timePart = dateOnly ? "" : " 'kl.' HH:mm"; - const isCurrentYear = parsed.getFullYear === new Date().getFullYear; - const yearPart = isCurrentYear && !alwaysIncludeYear ? "" : " yyyy"; + const isCurrentYear = parsed.getFullYear() === new Date().getFullYear(); + const yearPart = (!isCurrentYear || alwaysIncludeYear) ? " yyyy" : ""; return formatDate(parsed, `EEEE d. MMMM${yearPart}${timePart}`); }