diff --git a/src/components/Calendar.svelte b/src/components/Calendar.svelte index bf81e315..478c0fd3 100644 --- a/src/components/Calendar.svelte +++ b/src/components/Calendar.svelte @@ -6,17 +6,27 @@ import { tweened } from 'svelte/motion'; import type { EventCalendarEntry } from '@data/events'; + export let events: [EventCalendarEntry, EventCalendarEntry, EventCalendarEntry]; + + const TODAY = new Date(); + + function relativeDate(date: Date): 'Vorbei' | 'Demnächst' { + if (date < TODAY) { + return 'Vorbei'; + } + return 'Demnächst'; + } + + const initialEvent: number = events.findIndex((e) => e.date >= TODAY); // TODO: should this be the event itself instead of the index? // Perhaps we should also just use embla - let selectedEvent = 0; + let selectedEvent = initialEvent >= 0 ? initialEvent : 0; // findIndex returns -1 if not found const ANIMATION_DURATION = 300; - const location = tweened(0, { duration: ANIMATION_DURATION, easing: cubicOut }); + const location = tweened(selectedEvent, { duration: ANIMATION_DURATION, easing: cubicOut }); $: location.set(selectedEvent); $: currentEvent = events[selectedEvent]; - - export let events: [EventCalendarEntry, EventCalendarEntry, EventCalendarEntry];
@@ -105,7 +115,7 @@ {event.date.getDate()} {event.date.toLocaleString('de-DE', { month: 'long' })}

- {event.date <= new Date() ? 'Vorbei' : 'Demnächst'} + {relativeDate(event.date)}

diff --git a/tests/index.spec.ts-snapshots/index-page-screenshot-1-Mobile-Chrome-linux.png b/tests/index.spec.ts-snapshots/index-page-screenshot-1-Mobile-Chrome-linux.png index 451412e9..d0cec96a 100644 Binary files a/tests/index.spec.ts-snapshots/index-page-screenshot-1-Mobile-Chrome-linux.png and b/tests/index.spec.ts-snapshots/index-page-screenshot-1-Mobile-Chrome-linux.png differ diff --git a/tests/index.spec.ts-snapshots/index-page-screenshot-1-chromium-linux.png b/tests/index.spec.ts-snapshots/index-page-screenshot-1-chromium-linux.png index db09f06b..ed8cd4a1 100644 Binary files a/tests/index.spec.ts-snapshots/index-page-screenshot-1-chromium-linux.png and b/tests/index.spec.ts-snapshots/index-page-screenshot-1-chromium-linux.png differ diff --git a/tests/index.spec.ts-snapshots/index-page-screenshot-1-firefox-linux.png b/tests/index.spec.ts-snapshots/index-page-screenshot-1-firefox-linux.png index 1ff60bc9..4b04537b 100644 Binary files a/tests/index.spec.ts-snapshots/index-page-screenshot-1-firefox-linux.png and b/tests/index.spec.ts-snapshots/index-page-screenshot-1-firefox-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-Mobile-Chrome-linux.png b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-Mobile-Chrome-linux.png index 00fe33a1..e689720a 100644 Binary files a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-Mobile-Chrome-linux.png and b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-Mobile-Chrome-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-chromium-linux.png b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-chromium-linux.png index bd5745a2..6e89c94e 100644 Binary files a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-chromium-linux.png and b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-chromium-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-firefox-linux.png b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-firefox-linux.png index f4a2210c..60102b18 100644 Binary files a/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-firefox-linux.png and b/tests/projects.spec.ts-snapshots/Projects-page-screenshot-1-firefox-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-Mobile-Chrome-linux.png b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-Mobile-Chrome-linux.png index 00fe33a1..e689720a 100644 Binary files a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-Mobile-Chrome-linux.png and b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-Mobile-Chrome-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-chromium-linux.png b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-chromium-linux.png index bd5745a2..6e89c94e 100644 Binary files a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-chromium-linux.png and b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-chromium-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-firefox-linux.png b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-firefox-linux.png index f4a2210c..60102b18 100644 Binary files a/tests/projects.spec.ts-snapshots/Reselect-for-all-1-firefox-linux.png and b/tests/projects.spec.ts-snapshots/Reselect-for-all-1-firefox-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Select-members-only-1-Mobile-Chrome-linux.png b/tests/projects.spec.ts-snapshots/Select-members-only-1-Mobile-Chrome-linux.png index 20c0308a..a20028d1 100644 Binary files a/tests/projects.spec.ts-snapshots/Select-members-only-1-Mobile-Chrome-linux.png and b/tests/projects.spec.ts-snapshots/Select-members-only-1-Mobile-Chrome-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Select-members-only-1-chromium-linux.png b/tests/projects.spec.ts-snapshots/Select-members-only-1-chromium-linux.png index 410c0887..22f7832f 100644 Binary files a/tests/projects.spec.ts-snapshots/Select-members-only-1-chromium-linux.png and b/tests/projects.spec.ts-snapshots/Select-members-only-1-chromium-linux.png differ diff --git a/tests/projects.spec.ts-snapshots/Select-members-only-1-firefox-linux.png b/tests/projects.spec.ts-snapshots/Select-members-only-1-firefox-linux.png index a4328515..96cf2962 100644 Binary files a/tests/projects.spec.ts-snapshots/Select-members-only-1-firefox-linux.png and b/tests/projects.spec.ts-snapshots/Select-members-only-1-firefox-linux.png differ