feat(dashboard): минималистичная главная — утверждённый дизайн 02 #74

Merged
Eleboba merged 1 commits from feat/73-home-design into dev 2026-10-04 15:04:11 +03:00
Owner

Что меняется

Текущая главная кабинета заменена утверждённым вариантом 02: светлый фон, спокойные зелёные акценты, компактная сводка, текстовые статусы и список пациентов. Новый дизайн включён по умолчанию; все показатели загружаются через существующий API.

Сохранены PHQ-9/PCL-5, приём препаратов, риск прерывания, порядок по срочности, карточки, подтверждение алертов, живые уведомления, подключение по QR и демо-страницы. Назначения, последнее событие и факторы риска доступны в режиме «Подробный список». Поиск и фильтры сохраняются после возврата из карточки; добавлены сброс фильтров, пустое состояние и повторная загрузка при ошибке API.

Closes #73
Связано с #39 (общая полировка остаётся отдельной задачей).

Зона

C — dashboard и tests/test_dashboard*. API и клинические правила не меняются.

Как проверить

  1. Запустить существующий API и streamlit run dashboard/app.py, открыть главную. Для демо кризиса можно подготовить синтетические данные командой python -m scripts.seed_demo --andrey-day 13 в отдельной тестовой БД.
  2. Проверить поиск по имени/препарату, пять статусов, подробный список, карточку и возврат. Убедиться, что поиск и режим списка сохранились.
  3. Проверить кризисный баннер, графики, подтверждение уведомления и подключение пациента.
  4. Проверить узкий экран, фокус клавиатуры, пустой список и восстановление после недоступности API.

Проверки

  • Gitea CI ruff · pytest для c01bfc9: success.
  • make lint && make test: 935 passed, 1 skipped; существующее предупреждение Starlette о httpx.
  • Интеграционный AppTest с реальным локальным API и отдельными SQLite-базами: 8 синтетических пациентов, срочный фильтр, карточка, графики, возврат.
  • Контраст основного/вторичного текста и статусов: не менее 4.99:1; значения API экранируются.
  • Автоматическая визуальная проверка и скриншоты не выполнены: встроенный браузер отказал из-за недоступной проверки политики доступа. Адаптивные стили реализованы, требуется визуальная проверка в обычном браузере.

Чек-лист

  • Ветка основана на актуальном origin/dev, rebase выполнен
  • make lint + make test зелёные
  • Лог в issue (2026-10-04)
  • Только синтетические данные, без секретов
  • Замороженные общие файлы не изменены
## Что меняется Текущая главная кабинета заменена утверждённым вариантом 02: светлый фон, спокойные зелёные акценты, компактная сводка, текстовые статусы и список пациентов. Новый дизайн включён по умолчанию; все показатели загружаются через существующий API. Сохранены PHQ-9/PCL-5, приём препаратов, риск прерывания, порядок по срочности, карточки, подтверждение алертов, живые уведомления, подключение по QR и демо-страницы. Назначения, последнее событие и факторы риска доступны в режиме «Подробный список». Поиск и фильтры сохраняются после возврата из карточки; добавлены сброс фильтров, пустое состояние и повторная загрузка при ошибке API. Closes #73 Связано с #39 (общая полировка остаётся отдельной задачей). ## Зона C — dashboard и tests/test_dashboard*. API и клинические правила не меняются. ## Как проверить 1. Запустить существующий API и `streamlit run dashboard/app.py`, открыть главную. Для демо кризиса можно подготовить синтетические данные командой `python -m scripts.seed_demo --andrey-day 13` в отдельной тестовой БД. 2. Проверить поиск по имени/препарату, пять статусов, подробный список, карточку и возврат. Убедиться, что поиск и режим списка сохранились. 3. Проверить кризисный баннер, графики, подтверждение уведомления и подключение пациента. 4. Проверить узкий экран, фокус клавиатуры, пустой список и восстановление после недоступности API. ## Проверки - Gitea CI `ruff · pytest` для c01bfc9: **success**. - `make lint && make test`: **935 passed, 1 skipped**; существующее предупреждение Starlette о httpx. - Интеграционный AppTest с реальным локальным API и отдельными SQLite-базами: 8 синтетических пациентов, срочный фильтр, карточка, графики, возврат. - Контраст основного/вторичного текста и статусов: не менее 4.99:1; значения API экранируются. - Автоматическая визуальная проверка и скриншоты не выполнены: встроенный браузер отказал из-за недоступной проверки политики доступа. Адаптивные стили реализованы, требуется визуальная проверка в обычном браузере. ## Чек-лист - [x] Ветка основана на актуальном origin/dev, rebase выполнен - [x] make lint + make test зелёные - [x] Лог в issue (2026-10-04) - [x] Только синтетические данные, без секретов - [x] Замороженные общие файлы не изменены
Soyavo added 1 commit 2026-10-04 14:54:51 +03:00
feat(dashboard): replace home with approved minimal design
CI / ruff · pytest (pull_request) Successful in 2m1s
c01bfc90df
Refs #73
Eleboba merged commit aac560ad71 into dev 2026-10-04 15:04:11 +03:00
Sign in to join this conversation.