diff --git a/docs/app-map/STATUS.md b/docs/app-map/STATUS.md index 125813f..b8a473c 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 | 0.0 | 0.0 | 42 | 21 | нет | diff выложен (`notes.diff.md`); натив пуст — модуль не создан, жду скелет от лида (пинг «готов к регистрации», 093) | | notifications | b-mob-notify | 0 | — | — | — | — | нет | карта готова, diff | -| deck | b-mob-deck | 0 | — | — | — | — | нет | карта готова, diff | +| deck | b-mob-deck | 1 | 22.1 | предв. | 53 | ? | нет | diff выложен (`deck.diff.md`); Fd на устройстве; жду приоритизации лида, P1 — меню карточки/бейджи/меню колонки | | calendar | b-mob-calendar | 0 | — | — | — | — | нет | карта готова, diff | | contacts | b-mob-contacts | 0 | — | — | — | — | нет | карта, edit/delete/группы | diff --git a/docs/app-map/deck.diff.md b/docs/app-map/deck.diff.md new file mode 100644 index 0000000..954a282 --- /dev/null +++ b/docs/app-map/deck.diff.md @@ -0,0 +1,160 @@ +# Diff: Карточки (Deck) — итерация 1 (2026-07-13) +Ff_app: **22.1%** (53 open Ф / 76) · Fd_app: **предварительно** (веб-вёрстка сверена live через +iframe 390px; натив-дизайн-проход на устройстве — след. итерация) · n-a: 4 + +Сверка веб (карта `deck.md`, апстрим `nextcloud/deck v1.16.4` + тема forbion, live-сверка +Browser 1/cloude read-only) ↔ натив (`feature/deck`: `DeckRepository`/`DeckScreen`/ +`DeckCardSheet`/`DeckViewModel`, внутренний фронт-API `/apps/deck/api/v1.0`). Метод mail/083: +каждый пункт `[Ф|Д]`·`[open|done|n-a]`, Ff/Fd на экран. Дизайн (Fd) — на устройстве след. проход; +здесь Ф-функционал из кода + структурные Д, где очевидно. Всплывающие меню (mail/087) раскрыты +поимённо и сверены построчно. + +> Контекст доступа: запись на forbion под `cloude` разрешена с ограждениями (mail/085 — только +> свои объекты `bmob-*`, уборка). Пишущие пункты ниже, помеченные `[open]` из-за «нет в нативе», +> закрываются реализацией; «пишущее не проверено на живом» — сниму прогоном CRUD на доске +> `bmob-deck` после реализации. + +--- + +## Экран 1: Навигация приложения (веб-дровер) — Ff 16.7% (10 open Ф / 12) +В нативе отдельного дровера приложения нет — вход = сразу список досок. Пункты веб-навигации: +- [Ф][open] «**Ожидающие выполнения**» (обзор по срокам) — экрана нет. +- [Ф][done] «**Все доски**» — натив показывает список досок (это дефолт-экран). +- [Ф][done] Открыть доску (тап пункта) — есть. +- [Ф][open] «**Добавить доску**» (инлайн: цвет + имя) — создания доски нет. +- [Ф][open] «**Импортировать доску**» — нет. +- [Ф][open] «**Настройки Deck**» — экрана настроек нет. + +Всплывающее меню доски (⋯ на пункте, `AppNavigationBoard`) — веб ↔ натив (в нативе меню доски НЕТ): +- [Ф][open] «**Сведения о доске**» (сайдбар доски) — нет. +- [Ф][open] «**Редактировать доску**» (имя/цвет) — нет. +- [Ф][open] «**Клонировать доску**» — нет. +- [Ф][open] «**Архивировать/Разархивировать доску**» — нет (архивные доски просто скрыты). +- [Ф][open] «**Экспортировать доску**» — нет. +- [Ф][open] «**Напоминания о сроках**» (Все/Назначенные/Выкл.) — нет. + +## Экран 2: Все доски (список) — Ff 50.0% (1 open Ф / 2) +- [Ф][done] Открыть доску (тап строки) — есть. +- [Ф][open] Поиск/фильтр списка досок (`navFilter`) — нет. +- [Д][open] Колонка «**Участники**» (аватары ACL) — натив не показывает участников доски. +- [Д][—] Строка-карточка доски (bullet цвета + название, border/radius) — сверено, близко 1:1 + (натив `DeckBoardRow`); детальный Fd — на устройстве. + +## Экран 3: Обзор / «Ожидающие выполнения» — Ff 0.0% (2 open Ф / 2) +- [Ф][open] Дашборд карточек по срокам (Просроченные/Сегодня/Завтра/Ближайшие 7 дней/Позже/ + Без назначенной даты) — экрана в нативе нет совсем. +- [Ф][open] Открыть карточку из обзора — нет (нет обзора). +- [Д][open] Композиция: 6 секций-капшенов в столбец, карточки внутри — отсутствует. + +## Экран 4: Доска (Controls + Колонка + Карточка) — Ff 52.0% (12 open Ф / 25) +**Шапка доски (`Controls`):** +- [Ф][done] «**Добавить список**» — натив «+ Колонка» (`createStack`). +- [Ф][open] «**Применить фильтр**» (по метке / назначенному / статусу) — фильтров нет. +- [Ф][open] «**Режимы просмотра**» (Показывать архивные карточки / компактный режим / обложки) — нет. +- [Ф][open] «**Открыть подробности**» (сайдбар доски) — нет. +- [Ф][done] «**Добавить карточку**» — натив добавляет карточку из шапки колонки. +**Всплывающее меню колонки (⋯, `Stack`)** — в нативе меню колонки НЕТ: +- [Ф][open] «**Архивировать все карточки**» — нет. +- [Ф][open] «**Разархивировать все карточки**» — нет. +- [Ф][open] «**Удалить список**» — нет. +- [Ф][open] «**Изменить заголовок списка**» (инлайн-правка) — нет (переименования колонки нет). +- [Ф][done] «**Добавить карточку**» в колонку — есть (инлайн-поле «Имя карточки»). +**Карточка на доске (`CardItem` + бейджи):** +- [Ф][done] Открыть карточку (тап) — открывает лист-деталь. +- [Ф][done] Правка заголовка — есть (в листе-детали; веб правит инлайн — Д-нюанс). +- [Ф][done] Бейдж срока (`DueDate`) — есть. +- [Ф][open] Бейдж «**чек-пунктов**» (Todo items, напр. 0/9) — натив не показывает. +- [Ф][open] Бейдж «**комментариев**» (N, M непрочитанных) — не показывает. +- [Ф][done] Аватары назначенных — есть (отображение). +**Всплывающее меню карточки (⋯ / long-press, `CardMenuEntries`)** — в нативе overflow-меню НЕТ +(тап открывает лист; часть действий — кнопками листа): +- [Ф][done] «**Сведения о карточке**» — тап открывает лист-деталь. +- [Ф][done] «**Изменить заголовок**» — в листе. +- [Ф][open] «**Назначить мне / Снять назначение с меня**» — назначения из клиента нет (только чтение). +- [Ф][done] «**Отметить выполненной / невыполненной**» — чекбокс done есть. +- [Ф][open] «**Переместить/копировать карточку**» — есть перенос между колонками ОДНОЙ доски + (чипы), но нет копирования и переноса на ДРУГУЮ доску. +- [Ф][done] «**Архивировать/Разархивировать карточку**» — кнопка «В архив» есть. +- [Ф][done] «**Удалить карточку**» — кнопка «Удалить» есть. +- [Ф][open] «**Отменить удаление**» (Undo-тост) — натив удаляет сразу, без отмены. +- [Ф][done] Перенос карточки между колонками (в вебе drag-n-drop) — натив реализует переносом + через чипы «Колонка» (Д-нюанс: без DnD-жеста). + +## Экран 5: Лист-деталь / сайдбар карточки (Свойства/Вложения/Комментарии/Активность) — Ff 33.3% (12 open Ф / 18) +**Свойства (Details):** +- [Ф][done] Метки: назначить/снять (toggle меток доски) — есть. +- [Ф][open] Метки: «**Создать новую метку**» — натив только тогглит существующие. +- [Ф][open] Назначение: «**Назначить пользователю…**» — нет (write). +- [Ф][open] Назначение: снять назначение — нет. +- [Ф][done] Срок: выбрать дату (DatePicker) — есть. +- [Ф][open] Срок: «**быстрые опции**» (Позже сегодня/Завтра/В выходные/На след. неделе) — нет. +- [Ф][done] Срок: «**Убрать срок**» — есть («Сбросить»). +- [Ф][done] Срок: «Отметить выполненной» из блока срока — есть (done). +- [Ф][done] Описание: редактировать — есть. +- [Ф][open] Описание: «**Просмотр/Справка по форматированию**» (rich-preview) — натив простое поле. +- [Ф][open] Описание: «**Добавить вложение**» из описания — нет. +- [Ф][n-a] Блок «Проекты» (`NcCollectionList`) — зависит от NC-аппа проектов, вне ядра клиента. +**Вложения (Attachments) — таба нет в нативе:** +- [Ф][open] «**Загрузить новые файлы**» — нет. +- [Ф][open] «**Поделиться из Файлов**» — нет. +- [Ф][open] Действия вложения (Скачать/Показать в Файлах/Удалить/Восстановить) — нет. +**Комментарии (Comments) — табы нет:** +- [Ф][open] «**Добавить комментарий**» (форма + Сохранить) — нет. +- [Ф][open] Читать ленту комментариев — нет. +**Активность (Activity):** +- [Ф][open] Просмотр активности карточки — нет. +**Шапка листа:** +- [Ф][done] Правка заголовка карточки — есть. +- [Ф][n-a] «Открыть в боковом / большом виде» — на мобильном единый лист, не применимо. + +## Экран 6: Сайдбар доски (Общий доступ/Метки/Удалённые/Активность) — Ff 0.0% (10 open Ф / 10) +Всего экрана в нативе нет: +- [Ф][open] «**Общий доступ**»: пошарить доску, права (Can edit/share/manage), «Передать доску», удалить доступ (4 пункта). +- [Ф][open] «**Метки**»: добавить/редактировать/удалить метку доски (3 пункта). +- [Ф][open] «**Удалённые элементы**»: восстановить удалённые списки/карточки (2 пункта). +- [Ф][open] «**Активность**» доски (1 пункт). + +## Экран 7: Диалог «Переместить/копировать карточку» — Ff 25.0% (3 open Ф / 4) +- [Ф][done] Переместить в колонку той же доски — есть (чипы в листе; Д: без диалога). +- [Ф][open] «**Выбрать доску**» (перенос на другую доску) — нет. +- [Ф][open] «**Копировать карточку**» — нет. +- [Ф][open] Диалог с селекторами «Доска/Список» — нет (переноса на др. доску нет). + +## Экран 8: Настройки Deck — Ff 0.0% (3 open Ф / 3) +Экрана настроек в нативе нет: +- [Ф][open] «**Использовать увеличенный вид карточки**» — нет. +- [Ф][open] «**Показывать бейдж ID карточки**» — нет. +- [Ф][open] «**Показывать доски в календаре/задачах**» — нет. +- [Ф][n-a] «Настройки администратора» (ограничить создание досок группами) — админ-функция, не клиентская. + +--- + +## Сводка по экранам +| Экран | Ff | open Ф / всего | +|---|---|---| +| 1. Навигация + меню доски | 16.7% | 10/12 | +| 2. Все доски (список) | 50.0% | 1/2 | +| 3. Обзор (по срокам) | 0.0% | 2/2 | +| 4. Доска (Controls/Колонка/Карточка) | 52.0% | 12/25 | +| 5. Лист-деталь карточки | 33.3% | 12/18 | +| 6. Сайдбар доски | 0.0% | 10/10 | +| 7. Move/copy карточки | 25.0% | 3/4 | +| 8. Настройки Deck | 0.0% | 3/3 | +| **Ff_app (среднее)** | **22.1%** | **53/76** | + +## Приоритеты (черновик, жду визы лида — mail/071 план 1→2→3) +- **P1 (в своём модуле, наибольший охват):** меню карточки (Назначить мне/Переместить-копировать/ + Undo при удалении); бейджи чек-пунктов и комментариев; меню колонки (Удалить список/Архивировать + все/Переименовать); «быстрые опции» срока. +- **P2:** сайдбар карточки — Комментарии и Вложения (Вложения зависят от медиа-слоя b-mob-files, + mail/083 — согласую точечно); назначение исполнителей (write через `/cards/{id}/assign`). +- **P3:** обзор «Ожидающие выполнения» (дашборд по срокам); фильтры доски; CRUD досок + (создать/править/архив/клон/экспорт-импорт); сайдбар доски (шаринг/метки/удалённые); настройки. +- **n-a (в финал с обоснованием):** проекты-коллекции, «боковой/большой вид» карточки, + админ-настройки, drag-n-drop-жест (заменён чипами — функц-эквивалент есть). + +## Медиа-инвентарь (mail/081 §3 / mail/083 B) +В «Карточках» собственных медиа-просмотрщиков нет; вложения карточки в вебе открываются общим +NC-viewer. В нативе вкладки «Вложения» пока нет вовсе — когда появится (P2), просмотр +переиспользую через общий вход `feature/files` (Coil/Media3/PdfRenderer), НЕ плодя своё. Точки +интеграции согласую с b-mob-files, когда дойду до вложений.