Planboard: Jahr im Zeitraum, Tagesköpfe einheitlich zweizeilig, Keine Termine lesbarer

- planboardSubtitle: das Ende des Zeitraums trägt das Jahr, der Anfang nur bei abweichendem Jahr; count ohne Wert zählt als 0
- dayLabels.full (aria-label der Spalte) mit Jahr
- ab 861 px steht der Wochentag in jedem Tageskopf über dem Datum (gleich hohe Köpfe, alle Termine beginnen auf einer Höhe)
- "Keine Termine" überall in --text-2, die Sonderregeln für Wochenende und Handy entfallen

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-06 06:36:46 +00:00
1 parent 416c79b3a6
commit 7a3bc2887e
3 files changed
+22 -16

No files matched your search

+9 -5
View File
@@ -5,10 +5,14 @@ import { de } from 'date-fns/locale'
const NOBODY = 'niemand zugewiesen'
// "Kalenderwoche 41 · 5. Oktober bis 11. Oktober · 13 Termine"
export function planboardSubtitle({ weekStart, count, loading = false }) {
const from = format(weekStart, 'd. MMMM', { locale: de })
const to = format(addDays(weekStart, 6), 'd. MMMM', { locale: de })
// "Kalenderwoche 41 · 5. Oktober bis 11. Oktober 2026 · 13 Termine"
// weekStart muss ein Montag sein (die Woche läuft bis weekStart + 6 Tage). Das Ende trägt immer das Jahr, der Anfang nur,
// wenn sein Jahr vom Ende abweicht: "28. Dezember 2026 bis 3. Januar 2027".
export function planboardSubtitle({ weekStart, count = 0, loading = false }) {
const weekEnd = addDays(weekStart, 6)
const sameYear = weekStart.getFullYear() === weekEnd.getFullYear()
const from = format(weekStart, sameYear ? 'd. MMMM' : 'd. MMMM yyyy', { locale: de })
const to = format(weekEnd, 'd. MMMM yyyy', { locale: de })
const rest = loading ? 'Wird geladen …' : `${count} ${count === 1 ? 'Termin' : 'Termine'}`
return `Kalenderwoche ${getISOWeek(weekStart)} · ${from} bis ${to} · ${rest}`
}
@@ -17,7 +21,7 @@ export function dayLabels(day) {
return {
weekday: format(day, 'EEEE', { locale: de }),
number: format(day, 'dd.MM'),
full: format(day, 'EEEE, d. MMMM', { locale: de }),
full: format(day, 'EEEE, d. MMMM yyyy', { locale: de }),
}
}