Date format regression: create-event modal shows US dates (MM/DD/YYYY) instead of DD.MM.YYYY #33

Closed
opened 2026-07-10 09:21:17 +00:00 by laoc · 2 comments
Owner

Dates across the app should use German format DD.MM.YYYY. This was already implemented, but the create-event modal currently shows 07/10/2026 (US format) for Startdatum/Enddatum — a regression.

Likely cause: native <input type="date"> fields render in the browser locale, so they need a text mask / custom formatting to force DD.MM.YYYY.

Tasks:

  • Fix the Startdatum/Enddatum fields in the create-event modal to display DD.MM.YYYY
  • Audit the rest of the app for other date fields/displays not using the German format

Screenshot attached.

Dates across the app should use German format **DD.MM.YYYY**. This was already implemented, but the create-event modal currently shows **07/10/2026** (US format) for Startdatum/Enddatum — a regression. Likely cause: native `<input type="date">` fields render in the browser locale, so they need a text mask / custom formatting to force DD.MM.YYYY. Tasks: - [ ] Fix the Startdatum/Enddatum fields in the create-event modal to display DD.MM.YYYY - [ ] Audit the rest of the app for other date fields/displays not using the German format Screenshot attached.
Author
Owner

Audit result: the German date picker (EuropeanDateInput, introduced for the OER metadata form) was never rolled out to the other forms. Native <input type="date"> fields remained in:

  • CalendarEventModal.svelte (Startdatum/Enddatum — the reported case)
  • EventDateRangeFilter.svelte (discover → events → custom date range)
  • routes/create/publication/+page.svelte (publication date)

Fix in progress: swap all three to EuropeanDateInput (drop-in, binds the same ISO value) plus a guard test that fails if a native date input is ever reintroduced.

Audit result: the German date picker (`EuropeanDateInput`, introduced for the OER metadata form) was never rolled out to the other forms. Native `<input type="date">` fields remained in: - `CalendarEventModal.svelte` (Startdatum/Enddatum — the reported case) - `EventDateRangeFilter.svelte` (discover → events → custom date range) - `routes/create/publication/+page.svelte` (publication date) Fix in progress: swap all three to `EuropeanDateInput` (drop-in, binds the same ISO value) plus a guard test that fails if a native date input is ever reintroduced.
Author
Owner

Verified end-to-end in the seeded e2e environment: the create-event modal now shows DD.MM.YYYY in Start/End Date (screenshot attached to the issue), typed German dates parse back to the ISO value the event stores, and the discover date-range filter e2e suite passes with the new inputs. A guard test (no-native-date-inputs.test.js) now fails CI if a native <input type="date"> is ever reintroduced.

Verified end-to-end in the seeded e2e environment: the create-event modal now shows DD.MM.YYYY in Start/End Date (screenshot attached to the issue), typed German dates parse back to the ISO value the event stores, and the discover date-range filter e2e suite passes with the new inputs. A guard test (`no-native-date-inputs.test.js`) now fails CI if a native `<input type="date">` is ever reintroduced.
laoc closed this issue 2026-07-10 10:25:42 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
edufeed/edufeed-app#33
No description provided.