- Updated protocol documentation to include new `classId` and `roomLabel` fields in the timetable API responses. - Added classes and rooms to the timetable response structure, improving data accessibility for client applications. - Enhanced the UI components to display timetable information, including class and room details, in the management and people panels. - Implemented functionality to fetch and display personal timetables for individuals, ensuring a comprehensive view of schedules. - Revised localization strings to support new timetable features and improve user experience. - Added tests to validate the new timetable functionalities and ensure robustness in handling timetable data.
2.2 KiB
2.2 KiB
Фаза 17. Расписание на экране
Зависимости
Зачем
Школа перестаёт быть списком имён: видно, что происходит в комнатах прямо сейчас и как выглядит неделя класса и учителя.
Задачи
- В дереве карты рядом с комнатой — что и у кого там сейчас:
Кабинет 204 (Математика · 5Б). Свободная комната остаётся без скобок - Панель локации: «Сейчас» — урок и класс, «Персонажи» — учитель и ученики этого класса
- В «Управлении» — расписание класса: сетка «день × урок», выбор параллели
- В карточке человека — его личное расписание, рядом с навыками и семьёй
- Правка урока из сетки: перенос и смена кабинета, видимая отметка «закреплено» и снятие
- Отказ планировщика (некуда поставить, кабинет занят) объясняется текстом, а не молчанием
- Строки через
t(...), обе локали
Критерий готовности
- Открыть школу в учебное время и увидеть в дереве занятые кабинеты, а в каникулы — пустые
- Открыть расписание 5Б, найти окно на месте непокрытого предмета
- Открыть учителя и увидеть те же уроки с его стороны
- Передвинуть урок и убедиться, что он не разъехался после найма
dotnet testи клиентскиеnpm test/buildпроходят
Стоп
Не общая сетка на всю школу. Не оценки и не посещаемость. Не анимация перемещений.