bf1c78ff14
Fourth home variant alongside Карточки / Лента / Таймлайн, labeled "Таймлайн X" in Tweaks "Главный экран". Designed for patients with chronic conditions (not post-op). data.js: new `chronic` object — condition, stage, doctor, metrics (days since last flare-up, compliance %, flare-ups this year), daily + scheduled tasks, lifestyle recommendations, and 5-visit observation history. HomeTimelineXScreen sections: - Health status hero with soft gradient primary-100 → warm-100, success-tinted stable-state chip (green dot), three narrow-font metrics - Today's tasks card: daily habits with streak + 🔥, scheduled procedures with dates - Ask-a-question promotion: AI card (teal gradient) + doctor card (with avatar) side by side - Vertical observation timeline: 5 past visits with doctor initial, color-coded by type (diagnosis/procedure/therapy/flareup/checkup) - Upcoming appointment, lifestyle recommendations carousel with emoji, book CTA, article carousel Softened hero from dark teal gradient with white text to light primary-100 → warm-100 gradient with dark text — stable-state signal, not clinical verdict. Following Sprint 5 convention: matching entry in src/docs.js under key `home:timelineX` with title, category, goal, tasks, rationale. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
131 lines
11 KiB
Markdown
131 lines
11 KiB
Markdown
# Спринты
|
||
|
||
Документ для планирования и отслеживания работ по прототипу мобильного приложения Клиники УГН.
|
||
|
||
## Как вести
|
||
|
||
- Каждый спринт — отдельный заголовок `## Спринт N · даты`
|
||
- Задачи — чекбоксы `- [ ] описание`, ставим `- [x]` когда готово
|
||
- По завершении спринта — короткое резюме в блоке **Итоги**
|
||
- Нерешённое переносится в следующий спринт
|
||
|
||
## Правила разработки
|
||
|
||
- **Документация = часть прототипа.** При любом изменении экрана в `src/screens/*.jsx` — проверить и обновить соответствующую запись в `src/docs.js` (`goal` / `tasks` / `rationale` / `variants`). Эти описания показываются в плашке над телефоном и на экране «Документация», поэтому устаревшие формулировки мешают коллегам на ревью.
|
||
- Новый экран → добавить запись в `SCREEN_DOCS`, выбрать категорию из `ORDER` (в `getAllDocs`), для compound-маршрутов (`something:id`) прописать кейс в `resolveRouteForDoc`.
|
||
- Мелкие CSS-правки (цвета, отступы, иконки) документировать не нужно — в `docs.js` описывается intent, а не пиксели.
|
||
- Варианты экрана с ctx (home cards/list/feed) — отдельная запись на каждый вариант (`home:cards`, `home:list`, `home:feed`).
|
||
|
||
---
|
||
|
||
## Спринт 1 · 19 апр 2026
|
||
|
||
**Цель:** развернуть прототип ЛОР-клиники из дизайн-бандла Claude Design и закрыть базовые пробелы.
|
||
|
||
### План
|
||
- [x] Распаковать дизайн-бандл, перенести на Vite + React (20 экранов)
|
||
- [x] iOS / Android рамки + Tweaks-панель (экраны, устройство, компоновка, акцент, шрифт, плотность, масштаб)
|
||
- [x] Экран результата эндоскопии: 2×2 снимков, заключение, рекомендации, PDF, полноэкранный просмотр
|
||
- [x] Статьи: список с фильтрами по тегам + детальная страница (hero, body-блоки, автор, связанные)
|
||
- [x] Главная 2: универсальный поиск, тайлы, статистика клиники
|
||
- [x] Поиск: врачи / услуги / симптомы / статьи / приёмы с реальной фильтрацией
|
||
- [x] Контакты: телефон, два адреса с мокапами зданий и мини-карт
|
||
- [x] Цены: поиск + пиллы-категории, группировка, диапазон
|
||
- [ ] Развернуть на публичный URL (surge / netlify) и отправить коллегам
|
||
- [ ] Собрать первичный фидбек по прототипу
|
||
|
||
### Итоги
|
||
_заполнить в конце спринта_
|
||
|
||
---
|
||
|
||
## Спринт 2 · 19 апр 2026
|
||
|
||
**Цель:** превратить одиночный чат в центр всех коммуникаций с клиникой — AI-помощник, врач, администратор.
|
||
|
||
**Итоги.** Закрыт. Чат стал списком из трёх диалогов (AI-помощник, врач, администратор), каждая карточка ведёт в отдельную конверсацию с разными UI-акцентами. Таббар автоматически скрывается в подэкранах `chat:<id>`.
|
||
|
||
### План
|
||
- [x] Экран `chat` — список диалогов: AI-помощник (featured), врач, администратор
|
||
- [x] Данные: три чата в `data.js` (kind, участники, сообщения, online, непрочитанные, время последнего сообщения)
|
||
- [x] AI-помощник: расширенный диалог с напоминаниями о лекарствах, чипсы с подсказками ответов
|
||
- [x] Чат с регистратурой: запросы справок, переносы приёмов, счета
|
||
- [x] Экран `chat:<id>` — конверсация: разный аватар/статус/UI-акценты для AI, врача, оператора
|
||
- [x] Видеозвонок-кнопка только у врача; suggested replies только у AI
|
||
- [x] Переадресация: сурджен в «Восстановлении» → `chat:doctor-syndaev`
|
||
- [x] Tweaks: добавить три варианта чата в список экранов
|
||
|
||
### Задел на Спринт 3
|
||
- [ ] Экран онбординга (первый запуск)
|
||
- [ ] Пустые состояния для всех вкладок
|
||
- [ ] Анимации переходов между экранами
|
||
- [ ] Реальные аватары врачей и иконки
|
||
- [ ] Сравнение результатов эндоскопии с предыдущим
|
||
- [ ] Раздел «Программа лояльности» (бонусы, уровни)
|
||
- [ ] Детальная карточка услуги (с описанием и подготовкой)
|
||
- [ ] Форма обратной связи / отзыв о враче
|
||
- [ ] Тёмная тема
|
||
|
||
### Итоги
|
||
_заполнить в конце спринта_
|
||
|
||
---
|
||
|
||
## Спринт 3 · 20 апр 2026
|
||
|
||
**Цель:** применить новую палитру из дизайн-системы (скрин от 20.04) и добавить её как 4-й вариант в Tweaks.
|
||
|
||
Входные цвета: `#ffffff #fffde4 #f2fee6 #d4f6f8 #e9e4d4 #ffa39c #63bac3 #29aee3 #93908f` — sky-blue primary + coral accent + warm pastels.
|
||
|
||
### План
|
||
- [x] Расширить схему `ACCENT_OPTIONS`: добавить `accent`, `accentDark`, `accent50` (чтобы палитра меняла и красный акцент, а не только primary + warm)
|
||
- [x] Обновить `applyTheme` — устанавливать `--c-accent`, `--c-accent-dark`, `--c-accent-50` из палитры
|
||
- [x] Проставить accent-поля в существующих палитрах (тил/терра/марин) → сохранить текущий красный `#E04E44`
|
||
- [x] Добавить 4-ю палитру **Лагуна**: primary `#29AEE3`, accent `#FFA39C`, warm `#E9E4D4`
|
||
- [x] Пристроить три оставшихся цвета из скрина: `#f2fee6` → `success-50`, `#93908f` → `fg-4`, `#63bac3` → `primary-300` (с видимым применением в бордере Clinic Stats card на Home V2)
|
||
- [x] Добавить 5-ю палитру **Бриз** — вариант Лагуны с приглушённым primary `#63BAC3` (яркий `#29AEE3` переехал в p300, warm/accent/success/fg-4 наследуются от Лагуны)
|
||
- [ ] Визуальная проверка всех экранов в новой палитре: кнопки, чипы, CTA, прогресс восстановления, успех-галочка, таббар-бейджи
|
||
|
||
---
|
||
|
||
## Спринт 4 · 20 апр 2026
|
||
|
||
**Цель:** служебные экраны для разработчиков — визуализация дизайн-системы прямо в прототипе, чтобы переключая палитру сразу видеть все цвета и их применение.
|
||
|
||
### План
|
||
- [x] Пробросить текущую палитру через `ctx.palette` (чтобы dev-экраны могли прочитать все поля)
|
||
- [x] Экран **DEV · Палитра**: таблица всех цветов (primary / warm / accent / status / neutrals / text), у каждой строки — свотч, название роли, CSS-переменная, hex-код, краткое описание применения
|
||
- [x] Экран **DEV · Примеры**: реальные компоненты (кнопки, чипы, карточки, текстовая иерархия, статусы) с подписями «какая CSS-переменная используется»
|
||
- [x] Добавить оба экрана в SCREEN_OPTIONS Tweaks
|
||
- [x] Динамический рендер: при переключении палитры значения hex обновляются автоматически
|
||
|
||
---
|
||
|
||
## Спринт 6 · 20 апр 2026
|
||
|
||
**Цель:** вариант Главной для пациентов с хроническими заболеваниями — поддержание понимания «что со мной происходит», ежедневных задач по здоровью и связи с врачом/AI-помощником. Выведено как **Таймлайн X** (X = «хроник»).
|
||
|
||
### План
|
||
- [x] Добавить в `data.js` блок `chronic` — диагноз, стадия, ключевые метрики (дни без обострений, комплаенс, обострения в году), ежедневные/плановые задачи, рекомендации, история наблюдения (visits)
|
||
- [x] Экран `HomeTimelineXScreen` в `screens-home.jsx`: health-status hero, задачи сегодня (daily + scheduled), промо-блок связи (AI + врач), вертикальный таймлайн истории, ближайший приём, рекомендации горизонтально, CTA записи, статьи
|
||
- [x] Добавить `timelineX` в `HOME_OPTIONS` (App.jsx) и в HOME map (PhoneApp.jsx)
|
||
- [x] Описание в `src/docs.js` под ключом `home:timelineX` (соблюдение конвенции из Спринта 5)
|
||
|
||
---
|
||
|
||
## Спринт 5 · 20 апр 2026
|
||
|
||
**Цель:** документация прототипа внутри самого прототипа — чтобы на ревью с коллегами можно было сразу увидеть цель и design-решения по любому экрану.
|
||
|
||
### План
|
||
- [x] Общий слой данных `src/docs.js` — словарь описаний по screen-id: title, category, goal, tasks[], rationale[], variants
|
||
- [x] Helper `getScreenDoc(screenId, ctx)` — резолвит варианты home (cards/list/feed) и compound-экраны
|
||
- [x] Toggle «Описания» в Tweaks (вкл/выкл)
|
||
- [x] Плашка-описание над телефоном в режиме single (только когда тоггл ON) — category + title + 1 строка goal
|
||
- [x] Тап по плашке → модал-оверлей поверх сцены с полным описанием (задачи, design-решения, варианты, CTA «Закрыть»)
|
||
- [x] Отдельный экран `docs` (Вариант 4) — список всех экранов по категориям с collapsible-описаниями и кнопкой «Открыть экран»
|
||
- [x] Наполнить описаниями все ~30 экранов прототипа
|
||
|
||
### Итоги
|
||
_заполнить в конце спринта_
|