'use client' import { useState } from 'react' import { useTheme } from '@/lib/ThemeContext' const STEPS: { title: string; body: string }[] = [ { title: '1. Klassen, Lehrer, Faecher, Raeume anlegen', body: 'Stammdaten zuerst — der Solver kann nur scheduln was er kennt. Ohne mindestens 1 Klasse, 1 Fach, 1 Raum und 1 Lehrer wird der Plan leer.', }, { title: '2. Zeitraster definieren', body: 'Wochentag + Stundennummer + Start/Ende fuer jeden Slot. Pausen anhaken; der Solver belegt sie nicht.', }, { title: '3. Stundentafel + Lehrauftraege', body: 'Stundentafel: pro Klasse, wie viele Wochenstunden welches Fach. Lehrauftraege: welcher Lehrer unterrichtet welches Fach in welcher Klasse. Ohne Lehrauftrag wird die Lesson uebersprungen.', }, { title: '4. Regeln (Constraints) — optional', body: 'Lehrer-Abwesenheiten, Fach-Bevorzugungen, Raum-Sperren. Hart-Regeln muss der Solver einhalten, Soft-Regeln werden gewichtet.', }, { title: '5. Plan generieren', body: 'Zurueck auf den Plan-Tab → "Neuen Plan generieren". Der Solver laeuft im Hintergrund (bis zu 60 s) und schreibt das Ergebnis direkt in die Datenbank. Status erscheint live in der Liste.', }, { title: '6. Cells anpinnen + Re-Solve', body: 'Im Wochengrid einzelne Stunden anpinnen (Schloss-Icon). Beim naechsten Solve mit dem Plan als "Basieren auf"-Quelle bleiben die gepinnten Cells stehen, alles andere wird neu gerechnet.', }, ] export function HelpPanel() { const { isDark } = useTheme() const [open, setOpen] = useState(false) return (
{s.body}
Tipp: Solver-Probleme im Status-Feld der Plan-Liste — "Keine Lessons" heisst meistens fehlende Lehrauftraege; "Nicht loesbar" heisst harte Constraints widersprechen sich.