diff --git a/docs/app-map/STATUS.md b/docs/app-map/STATUS.md index 8410d82..66c8b99 100644 --- a/docs/app-map/STATUS.md +++ b/docs/app-map/STATUS.md @@ -17,7 +17,7 @@ | tasks | b-mob-tasks | 1 | 24.6 | 52.7 | ~34 | ~8 | нет | P1 закрыт в коде (умные коллекции+3-state видимость+персист, `bd56c4b`); далее P2 управление списками; ждёт девайс-сверки | | notes | b-mob-notes | 1 | 42.8 | 0.0 | 26 | 21 | нет | P1 read-only ядро в коде+UI (`8a8f1cf` данные + `fb120d5` VM/список/редактор/конфликт); compile+7/7 тестов+detekt OK (worktree); Fd ждёт девайс. Пинг лиду на регистрацию экрана в app-шелле | | notifications | b-mob-notify | 1 | 45.5 | 0.0 | 12 | 9 | нет | diff выложен: лента РАБОТАЕТ в app-shell (список/пусто/скрыть-одно/переход/иконка/время); P1-ленту (Скрыть все + action-кнопки) берёт лид (109); мой push-трек: retry регистрации DONE (`a6bda89`, compile+detekt green), unregister-logout блокирован серверным эндпоинтом f7push (→integrator-b, mail/110); Fd ждёт девайс + наполнение ленты (mail/107) | -| deck | b-mob-deck | 1 | 25.3 | предв. | 47 | ? | нет | P1 done: назначить-себя + бейджи коммент./чек-пунктов + меню колонки + быстрые сроки (6eeba1b…eff3f1c); compile+detekt GREEN; безопасный P1-фронт закрыт, жду приоритеты лида по крупному (назначение юзера/Комментарии/Вложения/обзор/CRUD досок); Fd на устройстве | +| deck | b-mob-deck | 1 | 25.3 | предв. 2/8 | 47 | ~4 | нет | Ff P1 done (назначить-себя/бейджи/меню колонки/быстрые сроки, 6eeba1b…eff3f1c). Fd: Roborazzi 360dp поднят (58f11c2, native PNG), сверено 2 экрана (Д: бейджи иконки-vs-эмодзи, аватар исполнителя, колонка Участники); далее 6 экранов+меню. Крупный Ff (назначение юзера/Комментарии/Вложения/обзор/CRUD) — жду приоритеты лида | | calendar | b-mob-calendar | 1 | 64.0 | 80.4 | ~35 | ~7 | нет | P1 разворот повторений+BYDAY=1MO ЗАКРЫТ в коде (`CalendarRecurrence`, 15 тестов, compile+detekt green, коммиты e7d0a5a/492af61); Appointments=n-a (101); далее P2 EXDATE/RECURRENCE-ID | | contacts | b-mob-contacts | 1 | 37.4 | предв. | ~32 | ? | нет | P1 edit/delete в main (bc1a497+6b98c5a); P2 шаг1 типы TEL/EMAIL в main (a8741e9: парс+подписи+сохранение, 14 тестов); далее P2 шаг2 селектор типа + группы CATEGORIES; live/device далее | diff --git a/docs/app-map/deck.diff.md b/docs/app-map/deck.diff.md index 061723f..9771b3c 100644 --- a/docs/app-map/deck.diff.md +++ b/docs/app-map/deck.diff.md @@ -1,6 +1,12 @@ # Diff: Карточки (Deck) — итерация 1 (2026-07-13) -Ff_app: **25.3%** (47 open Ф / 76) · Fd_app: **предварительно** (веб-вёрстка сверена live через -iframe 390px; натив-дизайн-проход на устройстве — след. итерация) · n-a: 4 +Ff_app: **25.3%** (47 open Ф / 76) · Fd_app: **предварительно, 2/8 экранов** (Roborazzi-пайплайн +поднят, mail/111) · n-a: 4 + +> **Fd-пайплайн (mail/111):** Roborazzi 360dp живой — `feature/deck/src/test/DeckScreenshotTest` +> рендерит нативные экраны в PNG (`src/test/screenshots/deck-boards.png`, `deck-board.png`, +> коммит 58f11c2). Веб-эталон снимаю iframe-360 на forbion (sample-доска «Welcome», без данных +> `cloude`). Сверено 2 экрана (список досок, доска-стек); Д-находки — ниже. Остальные 6 экранов +> + всплывающие меню (mail/087) — след. проходы. > Прогресс P1: (6eeba1b) меню карточки «**Назначить мне / Снять**»; (9d726f4) **бейдж > комментариев** «💬 N»; (73762d8/4fdadef) **меню колонки** «⋯» — «**Переименовать**» и @@ -42,9 +48,12 @@ Browser 1/cloude read-only) ↔ натив (`feature/deck`: `DeckRepository`/`De ## Экран 2: Все доски (список) — Ff 50.0% (1 open Ф / 2) - [Ф][done] Открыть доску (тап строки) — есть. - [Ф][open] Поиск/фильтр списка досок (`navFilter`) — нет. -- [Д][open] Колонка «**Участники**» (аватары ACL) — натив не показывает участников доски. -- [Д][—] Строка-карточка доски (bullet цвета + название, border/radius) — сверено, близко 1:1 - (натив `DeckBoardRow`); детальный Fd — на устройстве. +- [Д][open] Колонка «**Участники**» (аватары ACL) — натив не показывает участников доски + (`сверено:` Roborazzi vs iframe-360: веб — таблица с колонкой аватаров справа, натив — только bullet+имя). +- [Д][open] **Заголовки-колонки** «Название доски / Участники» — в вебе есть строка-шапка таблицы, + в нативе её нет (список без шапки). Fd-минус композиции. +- [Д][done] Строка доски: bullet цвета + название, border/radius 8 — сверено (Roborazzi + `deck-boards.png` ↔ веб), совпадает. ## Экран 3: Обзор / «Ожидающие выполнения» — Ff 0.0% (2 open Ф / 2) - [Ф][open] Дашборд карточек по срокам (Просроченные/Сегодня/Завтра/Ближайшие 7 дней/Позже/ @@ -90,6 +99,14 @@ Browser 1/cloude read-only) ↔ натив (`feature/deck`: `DeckRepository`/`De - [Ф][done] Перенос карточки между колонками (в вебе drag-n-drop) — натив реализует переносом через чипы «Колонка» (Д-нюанс: без DnD-жеста). +**Fd-находки (Roborazzi `deck-board.png` ↔ веб iframe-360):** +- [Д][open] **Бейджи карточки — иконки vs эмодзи**: веб рисует SVG-иконки (календарь/чек-лист/ + комментарий/аватар), натив — эмодзи (🗓/☑/💬/👤). Расхождение типографики/иконок. +- [Д][open] **Исполнитель**: веб — кружок-аватар, натив — «👤 имя» текстом. Композиция отличается. +- [Д][done] Колонка-стек: шапка (заголовок+счётчик+«+»+«⋯»), карточки с метками/чекбоксом/ + заголовком — сверено, композиция близка 1:1. +- [Д][done] Метки-чипы (цветной фон 0.22 + рамка) и чекбокс done — сверено, совпадают. + ## Экран 5: Лист-деталь / сайдбар карточки (Свойства/Вложения/Комментарии/Активность) — Ff 38.9% (11 open Ф / 18) **Свойства (Details):** - [Ф][done] Метки: назначить/снять (toggle меток доски) — есть.