Files
h-school/docs/phases/36-person-card-tabs.md
T
Leonid PershinandCursor 6be4fa75ab Split the person card into overview, clothes, carry and now tabs.
Today's history is a paged HTTP log on the worker, not on the card or in people.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 04:00:38 +03:00

3.2 KiB

Фаза 36. Вкладки карточки

Зависимости

Зачем

Гардероб, ноша и сегодняшний след перестают быть секциями в одном свитке. Подробности о человеке читаются.

Задачи

  • Окно карточки: вкладки Обзор / Одежда / Ноша / Сейчас
  • Обзор — прежнее: тело, навыки, черты, нужды, семья, расписание; текущее дело с обзора уходит на «Сейчас»
  • Одежда: слои, цвет, полоска износа и подпись (если сервер прислал condition / conditionLabel), короткая уместность — прочерк до фазы 35
  • Ноша: сумка, несёшь/можешь, шкафчик или его отсутствие, кратко «ещё N дома» без полного домашнего списка
  • Сейчас: на территории школы — подпись действия (ест, идёт, учится (математика), переодевается). Вне школы — «дома»
  • История за сегодня под текущим делом: поиск, сортировка, пейджинг
  • GET /api/schools/{id}/people/{personId}/log — страница и фильтр; не сокет, не лента школы. Граница суток — шесть утра; skip ночи обнуляет вчерашнее
  • Запись в лог: начало/конец действия есть; утренняя выдача одежды — тип apparel-replaced подхватывается, пишет фаза 34; переодевание — после фазы 35
  • Vitest: переключение вкладок, пейджер лога, «дома» когда activity пустая и человек away
  • docs/protocol.md — HTTP лога в том же коммите

Тесты, без которых фаза не закрыта

  • Лог не едет в GET .../people/{id} — только отдельным запросом
  • Страница лога не пересекается; неизвестный человек — 404
  • После 6:00 записей вчера нет
  • Вне школы вкладка «Сейчас» показывает «дома», не пусто
  • Клиентский тест: вкладка «Одежда» не монтирует таблицу лога

Критерий готовности

  • Открыть ученика, переключить четыре вкладки, найти в истории сегодняшний обед
  • Тысяча строк лога не приезжает разом
  • dotnet test и npm test / build проходят

Стоп

Не возвращать панель общих событий школы. Не давать надевать с вкладки «Одежда».