Fix layout issues in the user interface by adjusting CSS styles for better responsiveness and accessibility. Update component structure to improve maintainability and enhance user experience across different devices.
ci / server (push) Failing after 3m32s
ci / client (push) Successful in 15s

This commit is contained in:
Leonid Pershin
2026-08-18 13:21:41 +03:00
parent cc9efca891
commit d96b420133
6 changed files with 430 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# Фаза 1. Оболочка менеджера на экране школы
## Зависимости
- [Фаза 0](00-drop-pixi.md) — не обязательно технически, но логично закрыть первой
## Зачем
Сейчас внутри школы только часы и кнопки скорости. Дальше туда поедут списки, а не холст.
Нужен каркас панелей, чтобы следующий срез (локации, события) садился в готовые места, а не
ломал вёрстку часов.
Пока нет ответа, **что** лежит в дереве и в ленте, фаза рисует пустые панели с подписями и
сохраняет часы/паузу/скорость. Это не игра, это экран, в который игра въедет.
## Советы по укладке (не задачи, пока не закрыт дизайн)
- Выбор узла дерева на этом шаге можно держать **на клиенте**: сервер ещё не шлёт карту.
Когда появится симуляция локаций, решить отдельно, фильтр это или `OpenLocation`.
- Не слать дерево 20 раз в секунду. Часы уже едут по сокету; списки и события — когда меняются
(отдельные кадры или редкий снимок). Иначе меню-карточки повторятся внутри школы.
- Строки UI — через `t(...)`, как остальной клиент.
## Задачи
- [ ] На экране школы три области: дерево карты, общие события, выбранная локация — плюс текущие часы и управление временем
- [ ] Пока нет данных с сервера, панели показывают пустое состояние (не ломаются)
- [ ] Переключение языка обновляет подписи панелей
## Критерий готовности
- Можно открыть школу и увидеть каркас менеджера рядом с работающими часами
- Нет регрессии паузы и скоростей
- Клиентские тесты и `npm --prefix src/HSchool.Client run build` проходят
## Стоп
Не наполнять панели выдуманными учениками и комнатами. Наполнение идёт из defs и карты
([`../design/defs.md`](../design/defs.md)), когда закроются открытые вопросы там.