'use client'; import { useState } from 'react'; import { KUPPELN } from '@/types/logbuch'; import type { Kuppel, LogbuchEintrag } from '@/types/logbuch'; import LogbuchForm from '@/components/LogbuchForm'; import LogbuchList from '@/components/LogbuchList'; import Statistik from '@/components/Statistik'; import Fahrkosten from '@/components/Fahrkosten'; import packageJson from '@/package.json'; interface Props { kuerzel: string; beoId: number; beoName: string; role: string | null; } export default function MainClient({ kuerzel, beoId, beoName, role }: Props) { const [activeKuppel, setActiveKuppel] = useState('West'); const [activeTab, setActiveTab] = useState<'eingabe' | 'liste' | 'statistik' | 'fahrkosten'>('eingabe'); const [refreshKey, setRefreshKey] = useState(0); const [editEntry, setEditEntry] = useState(null); const grafikSrc = '/api/statistik/grafik'; const version = packageJson.version; const buildDate = process.env.NEXT_PUBLIC_BUILD_DATE || new Date().toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); const currentUserBeo = { ID: beoId, Kuerzel: kuerzel, Name: beoName }; function handleSaved() { setRefreshKey((k) => k + 1); setEditEntry(null); } function handleEdit(entry: LogbuchEintrag) { setEditEntry(entry); setActiveTab('eingabe'); window.scrollTo({ top: 0, behavior: 'smooth' }); } async function handleLogout() { await fetch('/api/logout', { method: 'POST' }); window.location.href = '/login'; } return (
{/* Header */}

Sternwarte-Welzheim   Führungsbuch für {activeKuppel}-Kuppel

{role?.includes('admin') && ( Admin )}
{/* Kuppel-Tabs */}
{KUPPELN.map((k) => ( ))}
{/* Eingabe/Liste/Statistik-Tabs */}
{(['eingabe', 'liste', 'statistik', 'fahrkosten'] as const) .filter((tab) => tab !== 'fahrkosten' || role?.includes('admin') || role?.includes('master')) .map((tab) => ( ))}
{/* Eingabe-Tab: Formular + kompakte Vorschau-Liste (nur Desktop) */} {activeTab === 'eingabe' && ( <> {editEntry && (
Eintrag bearbeiten (ID {editEntry.ID})
)} {/* Kompakte Liste — nur auf Desktop sichtbar */}

Letzte Einträge

)} {/* Liste-Tab: vollständige Liste */} {activeTab === 'liste' && (
Sternwarte Welzheim — Führungsbuch {activeKuppel}-Kuppel
Ausdruck vom {new Date().toLocaleDateString('de-DE')}
)} {/* Statistik-Tab */} {activeTab === 'statistik' && (
Statistik (alle Kuppeln)
)} {/* Fahrkosten-Tab */} {activeTab === 'fahrkosten' && (role?.includes('admin') || role?.includes('master')) && (
Fahrkostenabrechnung
)}
); }