'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 { PeriodsManager } from './_components/PeriodsManager' import { CurriculumManager } from './_components/CurriculumManager' import { AssignmentsManager } from './_components/AssignmentsManager' import { RegelnHub } from './_components/regeln/RegelnHub' import { PlanHub } from './_components/plan/PlanHub' import { setStundenplanToken, getStundenplanToken } from '@/lib/stundenplan/api' type Tab = 'plan' | 'klassen' | 'lehrer' | 'faecher' | 'raeume' | 'periods' | 'curriculum' | 'assignments' | 'regeln' const TABS: { id: Tab; label: string }[] = [ { id: 'plan', label: 'Plan' }, { 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('plan') 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 === 'plan' && } {tab === 'klassen' && } {tab === 'lehrer' && } {tab === 'faecher' && } {tab === 'raeume' && } {tab === 'periods' && } {tab === 'curriculum' && } {tab === 'assignments' && } {tab === 'regeln' && }
) }