From 17edb0e4f8575946eb39af3e96d1126b71bfe786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Sat, 15 Aug 2026 16:28:46 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Wochentag=20in=20der=20Liste=20?= =?UTF-8?q?=E2=80=94=20Version=201.17.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unter dem Datum steht der Wochentag des Beginns, in der Hauptliste ausgeschrieben, in der Kompaktliste als Kürzel rechtsbündig neben dem Datum. Damit die Kompaktliste dabei ihre bisherigen Spaltenbreiten behält, nehmen BEOs und Objekte den freien Platz auf (w-1/2); die Datumsspalte bekommt eine feste Breite, Art steht auf whitespace-nowrap, weil eine Prozentbreite alle übrigen Spalten auf ihre Minimalbreite drückt und der Gruppenname dort sonst Wort für Wort umbricht. Co-Authored-By: Claude Opus 5 (1M context) --- ANLEITUNG.md | 2 +- components/LogbuchList.tsx | 41 ++++++++++++++++++++++++++++++++------ package.json | 2 +- 3 files changed, 37 insertions(+), 8 deletions(-) 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",