Sprint 5: in-prototype screen documentation
Shared data layer + two access points for design-review docs. - src/docs.js — SCREEN_DOCS dictionary keyed by screen id with title, category, goal, tasks[], rationale[], and optional variants note; helpers getScreenDoc(screenId, ctx) resolves home variants (home:cards / home:list / home:feed) and compound routes (doctor:id, article:id, chat:id, etc.); getAllDocs groups by category; resolveRouteForDoc maps doc key back to a concrete navigable route - Toggle "Описания" in Tweaks + plashka above the phone in single layout: card with category, full-width title, and full goal text (line-clamp removed so whole sentence is readable); tap opens a full modal with tasks, rationale, and variants - Live sync: PhoneApp reports top-of-stack via onCurrentChange prop, App tracks innerScreen state so the plashka follows the real nav inside the phone (clicking "Записаться" on home now updates the plashka to the booking screen) - DocsScreen route "docs" in Tweaks screen selector — categorized list of all ~30 screens with collapsible inline descriptions and an "Открыть экран" CTA per row - Convention: SPRINTS.md "Правила разработки" + memory note — when editing any src/screens/* file, update the matching entry in src/docs.js to keep in-prototype documentation in sync Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+22
@@ -9,6 +9,13 @@
|
||||
- По завершении спринта — короткое резюме в блоке **Итоги**
|
||||
- Нерешённое переносится в следующий спринт
|
||||
|
||||
## Правила разработки
|
||||
|
||||
- **Документация = часть прототипа.** При любом изменении экрана в `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
|
||||
@@ -92,5 +99,20 @@ _заполнить в конце спринта_
|
||||
- [x] Добавить оба экрана в SCREEN_OPTIONS Tweaks
|
||||
- [x] Динамический рендер: при переключении палитры значения hex обновляются автоматически
|
||||
|
||||
---
|
||||
|
||||
## Спринт 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 экранов прототипа
|
||||
|
||||
### Итоги
|
||||
_заполнить в конце спринта_
|
||||
|
||||
Reference in New Issue
Block a user