'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 packageJson from '@/package.json'; interface Props { kuerzel: string; beoId: number; beoName: string; } export default function MainClient({ kuerzel, beoId, beoName }: Props) { const [activeKuppel, setActiveKuppel] = useState('West'); const [activeTab, setActiveTab] = useState<'eingabe' | 'liste'>('eingabe'); const [refreshKey, setRefreshKey] = useState(0); const [editEntry, setEditEntry] = useState(null); 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   Logbuch für {activeKuppel}-Kuppel

{/* Kuppel-Tabs */}
{KUPPELN.map((k) => ( ))}
{/* Eingabe/Liste-Tabs */}
{(['eingabe', 'liste'] as const).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' && (
Einträge {activeKuppel}-Kuppel
Sternwarte Welzheim — Logbuch {activeKuppel}-Kuppel
Ausdruck vom {new Date().toLocaleDateString('de-DE')}
)}
); }