diff --git a/ANLEITUNG.md b/ANLEITUNG.md index 4c8d069..11da058 100644 --- a/ANLEITUNG.md +++ b/ANLEITUNG.md @@ -135,7 +135,7 @@ Die Werkzeugleiste oben in der Liste enthält in einer Zeile: ### Tabelleninhalt -Die Tabelle zeigt pro Eintrag: Datum, Uhrzeit (Beginn–Ende), Art der Führung, Besucher, beteiligte BEOs, beobachtete Objekte, Bemerkungen und Wetterdaten. Der Ersteller des Eintrags ist in der BEO-Spalte **fettgedruckt** und steht an erster Stelle. Wetterdaten werden nur angezeigt, wenn mindestens ein Wert ungleich null ist. +Die Tabelle zeigt pro Eintrag: Datum, Uhrzeit (Beginn–Ende), Art der Führung, Besucher, beteiligte BEOs, beobachtete Objekte, Bemerkungen und Wetterdaten. Unter dem Datum steht der **Wochentag** des Beginns. Der Ersteller des Eintrags ist in der BEO-Spalte **fettgedruckt** und steht an erster Stelle. Wetterdaten werden nur angezeigt, wenn mindestens ein Wert ungleich null ist. ### Eintrag bearbeiten diff --git a/components/LogbuchList.tsx b/components/LogbuchList.tsx index e1cb714..bcda94e 100644 --- a/components/LogbuchList.tsx +++ b/components/LogbuchList.tsx @@ -17,6 +17,7 @@ interface Props { const pad = (n: number) => String(n).padStart(2, '0'); const MONATE = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']; +const WOCHENTAGE = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag']; function currentMonth() { const d = new Date(); @@ -46,6 +47,15 @@ function formatDate(dt: string, short = false): string { return `${pad(d.getDate())}.${pad(d.getMonth() + 1)}.${d.getFullYear()}`; } +/** Wochentag zum Datum — in der Kompaktliste auf zwei Buchstaben gekürzt. */ +function formatWeekday(dt: string, short = false): string { + if (!dt) return ''; + const d = new Date(dt); + if (isNaN(d.getTime())) return ''; + const name = WOCHENTAGE[d.getDay()]; + return short ? name.slice(0, 2) : name; +} + function formatTime(dt: string): string { if (!dt) return ''; const d = new Date(dt); @@ -213,7 +223,9 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, currentUserKue - + {/* Im Kompaktmodus schmal halten — sonst zieht w-full die Spalte auf und der + rechtsbündige Wochentag rutscht weit vom Datum weg. */} + {compact ? ( <> @@ -222,10 +234,15 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, currentUserKue ) : ( )} - + - - + {/* Im Kompaktmodus nehmen diese beiden den Restplatz auf. Sonst verteilt das + Auto-Layout ihn bei dünn gefüllten Zeilen über alle Spalten, und Art und + Zeiten werden unnötig breit. Die Prozentangabe drückt die übrigen Spalten + auf ihre Minimalbreite — deshalb steht Art dort auf whitespace-nowrap, + sonst bricht der Gruppenname dort Wort für Wort um. */} + + {!compact && } {!compact && } @@ -240,7 +257,19 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, currentUserKue ) : displayEntries.map((e) => ( - + {compact ? ( <> @@ -253,7 +282,7 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, currentUserKue
{formatTime(e.Ende)}
)} -
DatumDatumStartZeitArtArt Bes.BEOsObjekteBEOsObjekteBemerkungenWetterAktionen
{formatDate(e.Beginn, compact)} + {compact ? ( +
+ {formatDate(e.Beginn, true)} + {formatWeekday(e.Beginn, true)} +
+ ) : ( + <> +
{formatDate(e.Beginn)}
+
{formatWeekday(e.Beginn)}
+ + )} +
{formatTime(e.Beginn)} +
{e.ArtFuehrung}
{e.SonderName &&
{e.SonderName}
} {e.Spende && ( diff --git a/package.json b/package.json index c72f054..ca322dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "logbuch", - "version": "1.16.1", + "version": "1.17.0", "private": true, "scripts": { "dev": "next dev",