'use client' import { useState } from 'react' import { useTheme } from '@/lib/ThemeContext' import { Sidebar } from '@/components/Sidebar' import { ThemeToggle } from '@/components/ThemeToggle' import { LanguageDropdown } from '@/components/LanguageDropdown' import { KlassenManager } from './_components/KlassenManager' import { LehrerManager } from './_components/LehrerManager' import { FaecherManager } from './_components/FaecherManager' import { RaeumeManager } from './_components/RaeumeManager' import { TeacherUnavailableDayEditor } from './_components/regeln/TeacherUnavailableDayEditor' import { setStundenplanToken, getStundenplanToken } from '@/lib/stundenplan/api' type Tab = 'klassen' | 'lehrer' | 'faecher' | 'raeume' | 'periods' | 'curriculum' | 'assignments' | 'regeln' const TABS: { id: Tab; label: string }[] = [ { id: 'klassen', label: 'Klassen' }, { id: 'lehrer', label: 'Lehrer' }, { id: 'faecher', label: 'Faecher' }, { id: 'raeume', label: 'Raeume' }, { id: 'periods', label: 'Zeitraster' }, { id: 'curriculum', label: 'Stundentafel' }, { id: 'assignments', label: 'Lehrauftraege' }, { id: 'regeln', label: 'Regeln (Constraints)' }, ] export default function StundenplanPage() { const { isDark } = useTheme() const [tab, setTab] = useState('klassen') const [token, setToken] = useState(getStundenplanToken()) const handleSaveToken = () => { setStundenplanToken(token) alert('Token gespeichert. Seite neu laden um die Aenderung zu uebernehmen.') } return (

Stundenplan

Stammdaten und Regeln fuer den Solver

Dev: JWT-Token setzen (Anmeldung noch nicht integriert)
setToken(e.target.value)} placeholder="Bearer-Token" className={`flex-1 px-3 py-1.5 rounded-lg text-sm ${ isDark ? 'bg-white/10 border border-white/20 text-white' : 'bg-white border border-slate-300 text-slate-900' }`} />
{tab === 'klassen' && } {tab === 'lehrer' && } {tab === 'faecher' && } {tab === 'raeume' && } {tab === 'regeln' && } {(tab === 'periods' || tab === 'curriculum' || tab === 'assignments') && (

Noch nicht implementiert: {TABS.find(t => t.id === tab)?.label}

Folgt dem gleichen Muster wie Klassen / Lehrer / Faecher / Raeume.

)}
) }