feat: Stundenplan-Badge für unkontrollierte Hausaufgaben (4.5.4)
Lesson bekommt HomeworkChecked/HomeworkCheckDismissed. Der Stundenplan (Tagesliste und Wochenraster im "Heute"-Tab) zeigt ein 📓-Badge, wenn die letzte Stunde einer Gruppe eine Hausaufgabe hatte, die noch nicht kontrolliert oder bewusst übersprungen wurde. Umschaltbar über zwei sich gegenseitig ausschließende Checkboxen ("Kontrolliert"/"Nicht kontrollieren") im Verlaufsplan-Editor, direkt neben dem Hausaufgabenfeld. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -723,11 +723,29 @@ Ausdrücklich als Idee für später festgehalten, **nicht** jetzt umsetzen:
|
||||
Rückfrage an die Lehrkraft?). Muss überdacht werden, bevor das gebaut wird.
|
||||
- [ ] **4.5.3** Aus diesem Lesson-Viewer heraus weiter verzweigen können: in die Zeugnisnote/
|
||||
Bewertung der Gruppe, und in die Schnelldialoge für Mitarbeit sowie Anwesenheit/Hausaufgaben.
|
||||
- [ ] **4.5.4** Badges am Stundenplan/Lesson-Viewer, die anzeigen, ob eine Stunde bereits
|
||||
"kontrolliert" ist — u.a. ob in der vorherigen Stunde Hausaufgaben erteilt wurden und ob
|
||||
diese noch nicht kontrolliert sind. Muss sich pro Fall abschalten lassen: manchmal wird eine
|
||||
Hausaufgabe bewusst nicht kontrolliert, ohne dass bis Schuljahresende ständig daran erinnert
|
||||
werden soll.
|
||||
- [x] **4.5.4** Badges am Stundenplan, die anzeigen, ob eine Hausaufgabe aus der letzten Stunde
|
||||
noch nicht kontrolliert ist.
|
||||
|
||||
**Umsetzung:** `Lesson` bekam zwei neue Felder, `HomeworkChecked`/`HomeworkCheckDismissed`
|
||||
(LiteDB füllt sie für bestehende Datensätze automatisch mit `false`, keine Migration nötig).
|
||||
`TimetableViewModel.HasUnhandledHomework(groupId, date)` sucht die letzte vor `date`
|
||||
liegende Lesson dieser Gruppe (`ILessonRepository.GetByGroupAndRange`, 120-Tage-Fenster
|
||||
wegen möglicher Ferienlücken) und meldet `true`, wenn diese eine nicht-leere `Homework`
|
||||
hat und weder `HomeworkChecked` noch `HomeworkCheckDismissed` gesetzt ist. Bewusst nur die
|
||||
unmittelbar vorherige Lesson, nicht die gesamte Historie — sobald eine neuere Stunde
|
||||
stattfindet, ist eine noch ältere offene Hausaufgabe nicht mehr das, worauf sich "letzte
|
||||
Stunde" bezieht. 📓-Badge dafür sowohl in der Tagesliste als auch im Wochenraster des
|
||||
"Heute"-Tabs (`TodayLessonItem.HasUnhandledHomework`/`WeekCellItem.HasUnhandledHomework`).
|
||||
|
||||
**Abweichung vom ursprünglichen Vorschlag** ("Klick-Toggle direkt am Badge"): jede
|
||||
Wochenraster-Zelle ist bereits ein klickbarer `Button` (Navigation zur Lerngruppe) —
|
||||
ein zweites klickbares Element im selben Badge hätte in Avalonia einen verschachtelten
|
||||
Button-in-Button ergeben, mit unsicherem Klick-Routing. Stattdessen leben die beiden
|
||||
Checkboxen "Kontrolliert"/"Nicht kontrollieren" (gegenseitig exklusiv,
|
||||
`LessonDialogViewModel.HomeworkChecked`/`HomeworkCheckDismissed`) direkt im Verlaufsplan-
|
||||
Editor neben dem Hausaufgabenfeld — genau dort, wo `Homework` ohnehin schon gepflegt wird.
|
||||
Klick auf die Stunde im Stundenplan navigiert wie gehabt zur Lerngruppe/Planung, von dort
|
||||
ist die betroffene (vorherige) Stunde ein Klick entfernt.
|
||||
- [ ] **4.5.5** Stunden aus dieser Ansicht heraus verschieben können, wenn kurzfristig etwas
|
||||
dazwischenkommt.
|
||||
- [ ] **4.5.6** Bei Doppelstunden (90-Minuten-Planung laut Verlaufsplan, 4.2.2) den Inhalt
|
||||
|
||||
Reference in New Issue
Block a user