Files

50 lines
3.2 KiB
Markdown

# Фаза 36. Вкладки карточки
## Зависимости
- [Фаза 31](31-dress-generator.md)
- [Фаза 8](../02-people/08-people-browser.md)
- [Фаза 28](../06-foundation/28-screen-tests.md)
## Зачем
Гардероб, ноша и сегодняшний след перестают быть секциями в одном свитке. Подробности о человеке
читаются.
## Задачи
- [x] Окно карточки: вкладки **Обзор / Одежда / Ноша / Сейчас**
- [x] Обзор — прежнее: тело, навыки, черты, нужды, семья, расписание; текущее дело с обзора
уходит на «Сейчас»
- [x] Одежда: слои, цвет, полоска износа и подпись (если сервер прислал `condition` /
`conditionLabel`), короткая уместность — прочерк до фазы 35
- [x] Ноша: сумка, несёшь/можешь, шкафчик или его отсутствие, кратко «ещё N дома» без полного
домашнего списка
- [x] Сейчас: на территории школы — подпись действия (`ест`, `идёт`, `учится (математика)`,
`переодевается`). Вне школы — «дома»
- [x] История за сегодня под текущим делом: поиск, сортировка, пейджинг
- [x] `GET /api/schools/{id}/people/{personId}/log` — страница и фильтр; не сокет, не лента
школы. Граница суток — шесть утра; skip ночи обнуляет вчерашнее
- [x] Запись в лог: начало/конец действия есть; утренняя выдача одежды — тип
`apparel-replaced` подхватывается, пишет фаза 34; переодевание — `apparel-changed` из фазы 35
- [x] Vitest: переключение вкладок, пейджер лога, «дома» когда activity пустая и человек away
- [x] `docs/protocol.md` — HTTP лога в том же коммите
## Тесты, без которых фаза не закрыта
- [x] Лог не едет в `GET .../people/{id}` — только отдельным запросом
- [x] Страница лога не пересекается; неизвестный человек — `404`
- [x] После 6:00 записей вчера нет
- [x] Вне школы вкладка «Сейчас» показывает «дома», не пусто
- [x] Клиентский тест: вкладка «Одежда» не монтирует таблицу лога
## Критерий готовности
- Открыть ученика, переключить четыре вкладки, найти в истории сегодняшний обед
- Тысяча строк лога не приезжает разом
- `dotnet test` и `npm test` / `build` проходят
## Стоп
Не возвращать панель общих событий школы. Не давать надевать с вкладки «Одежда».