diff --git a/components/LogbuchList.tsx b/components/LogbuchList.tsx
index 4fca3b0..680bcb7 100644
--- a/components/LogbuchList.tsx
+++ b/components/LogbuchList.tsx
@@ -11,10 +11,14 @@ interface Props {
compact?: boolean;
}
-function formatDateTime(dt: string): string {
+function formatDateTime(dt: string, short = false): string {
if (!dt) return '';
const d = new Date(dt);
if (isNaN(d.getTime())) return dt;
+ if (short) {
+ const pad = (n: number) => String(n).padStart(2, '0');
+ return `${pad(d.getDate())}.${pad(d.getMonth() + 1)}. ${pad(d.getHours())}:${pad(d.getMinutes())}`;
+ }
return d.toLocaleString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' });
}
@@ -30,7 +34,7 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
.then((r) => { if (!r.ok) throw new Error(); return r.json(); })
.then((data) => { setEntries(data); setLoading(false); })
.catch(() => { setError('Fehler beim Laden.'); setLoading(false); });
- }, [kuppel, refreshKey]);
+ }, [kuppel, refreshKey, limit]);
async function confirmDelete(id: number) {
try {
@@ -48,48 +52,55 @@ export default function LogbuchList({ kuppel, refreshKey, onEdit, limit = 20, co
if (error) return
{error}
;
if (entries.length === 0) return Keine Einträge vorhanden.
;
+ const cell = compact
+ ? 'px-1.5 py-1 border border-gray-200 text-xs'
+ : 'px-3 py-2 border border-gray-200';
+ const head = compact
+ ? 'px-1.5 py-1 border border-gray-300 text-xs font-semibold'
+ : 'px-3 py-2 border border-gray-300';
+
return (
-
+
- | Beginn |
- Ende |
- Art |
- Besucher |
- BEOs |
- {!compact && Objekte | }
- {!compact && Bemerkungen | }
- Aktionen |
+ Beginn |
+ Ende |
+ Art |
+ {!compact && Besucher | }
+ BEOs |
+ Objekte |
+ {!compact && Bemerkungen | }
+ Aktionen |
{entries.map((e) => (
- | {formatDateTime(e.Beginn)} |
- {formatDateTime(e.Ende)} |
- {e.ArtFuehrung} |
- {e.Besucher} |
- {e.BEOs || '—'} |
- {!compact && {e.Objekte || '—'} | }
+ {formatDateTime(e.Beginn, compact)} |
+ {formatDateTime(e.Ende, compact)} |
+ {e.ArtFuehrung} |
+ {!compact && {e.Besucher} | }
+ {e.BEOs || '—'} |
+ {e.Objekte || '—'} |
{!compact && (
-
+ |
{e.Bemerkungen || ''}
|
)}
-
+ |
|
diff --git a/migrate_art.sql b/migrate_art.sql
index 35518ae..b465897 100644
--- a/migrate_art.sql
+++ b/migrate_art.sql
@@ -1,15 +1,16 @@
-- Migration: ArtFuehrung von Langtext auf Kürzel umstellen
--- Erst Daten aktualisieren, dann ENUM ändern
+-- Schritt 1: ENUM zu VARCHAR öffnen (nimmt alle Werte an)
+ALTER TABLE logbuch MODIFY ArtFuehrung VARCHAR(50) NOT NULL DEFAULT 'RF';
-UPDATE logbuch SET ArtFuehrung = 'RF' WHERE ArtFuehrung = 'Reguläre Führung';
-UPDATE logbuch SET ArtFuehrung = 'SF' WHERE ArtFuehrung = 'Sonderführung';
-UPDATE logbuch SET ArtFuehrung = 'BEOS' WHERE ArtFuehrung = 'BEO-Sitzung';
-UPDATE logbuch SET ArtFuehrung = 'SonF' WHERE ArtFuehrung = 'Sonnenführung';
-UPDATE logbuch SET ArtFuehrung = 'TD' WHERE ArtFuehrung = 'Technischer Dienst';
-UPDATE logbuch SET ArtFuehrung = 'Beob' WHERE ArtFuehrung = 'Beobachtung';
-UPDATE logbuch SET ArtFuehrung = 'ToT' WHERE ArtFuehrung = 'Tag der offenen Tür';
-UPDATE logbuch SET ArtFuehrung = 'Sonst'WHERE ArtFuehrung = 'Sonstiges';
+-- Schritt 2: Bestehende Daten umschreiben
+UPDATE logbuch SET ArtFuehrung = 'RF' WHERE ArtFuehrung = 'Reguläre Führung';
+UPDATE logbuch SET ArtFuehrung = 'SF' WHERE ArtFuehrung = 'Sonderführung';
+UPDATE logbuch SET ArtFuehrung = 'BEOS' WHERE ArtFuehrung = 'BEO-Sitzung';
+UPDATE logbuch SET ArtFuehrung = 'SonF' WHERE ArtFuehrung = 'Sonnenführung';
+UPDATE logbuch SET ArtFuehrung = 'TD' WHERE ArtFuehrung = 'Technischer Dienst';
+UPDATE logbuch SET ArtFuehrung = 'Beob' WHERE ArtFuehrung = 'Beobachtung';
+UPDATE logbuch SET ArtFuehrung = 'ToT' WHERE ArtFuehrung = 'Tag der offenen Tür';
+UPDATE logbuch SET ArtFuehrung = 'Sonst' WHERE ArtFuehrung = 'Sonstiges';
-ALTER TABLE logbuch
- MODIFY ArtFuehrung ENUM('RF','SF','BEOS','SonF','TD','Beob','ToT','Sonst')
- NOT NULL DEFAULT 'RF';
+-- Schritt 3: Zurück zu ENUM mit neuen Kürzeln
+ALTER TABLE logbuch MODIFY ArtFuehrung ENUM('RF','SF','BEOS','SonF','TD','Beob','ToT','Sonst') NOT NULL DEFAULT 'RF';