Files
f7cloud_mobile/docs/app-map/deck.diff.md
T

172 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Diff: Карточки (Deck) — итерация 1 (2026-07-13)
Ff_app: **25.3%** (47 open Ф / 76) · Fd_app: **предварительно** (веб-вёрстка сверена live через
iframe 390px; натив-дизайн-проход на устройстве — след. итерация) · n-a: 4
> Прогресс P1: (6eeba1b) меню карточки «**Назначить мне / Снять**»; (9d726f4) **бейдж
> комментариев** «💬 N»; (73762d8/4fdadef) **меню колонки** «⋯» — «**Переименовать**» и
> «**Удалить список**» (`renameStack`/`deleteStack`) — все `[done]` ниже (Ff экрана 4:
> 52.0%→68.0%). **Compile + detekt модуля GREEN** (detekt-baseline модуля обновлён — v0.5.144-долг,
> как у calendar e7d0a5a; вписывается в свип лида mail/095).
Сверка веб (карта `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 72.0% (7 open Ф / 25)
**Шапка доски (`Controls`):**
- [Ф][done] «**Добавить список**» — натив «+ Колонка» (`createStack`).
- [Ф][open] «**Применить фильтр**» (по метке / назначенному / статусу) — фильтров нет.
- [Ф][open] «**Режимы просмотра**» (Показывать архивные карточки / компактный режим / обложки) — нет.
- [Ф][open] «**Открыть подробности**» (сайдбар доски) — нет.
- [Ф][done] «**Добавить карточку**» — натив добавляет карточку из шапки колонки.
**Всплывающее меню колонки (⋯, `Stack`)** — в нативе меню колонки НЕТ:
- [Ф][open] «**Архивировать все карточки**» — нет.
- [Ф][open] «**Разархивировать все карточки**» — нет.
- [Ф][done] «**Удалить список**» — реализовано (меню «⋯» → подтверждение `DeckConfirmDialog`).
- [Ф][done] «**Изменить заголовок списка / Переименовать**» — реализовано (меню «⋯» → диалог с
префиллом, `renameStack`).
- [Ф][done] «**Добавить карточку**» в колонку — есть (инлайн-поле «Имя карточки»).
**Карточка на доске (`CardItem` + бейджи):**
- [Ф][done] Открыть карточку (тап) — открывает лист-деталь.
- [Ф][done] Правка заголовка — есть (в листе-детали; веб правит инлайн — Д-нюанс).
- [Ф][done] Бейдж срока (`DueDate`) — есть.
- [Ф][done] Бейдж «**чек-пунктов**» «☑ x/total» — реализовано (`deckChecklistCounts`, парсинг
чекбоксов описания regex как веб).
- [Ф][done] Бейдж «**комментариев**» «💬 N» — реализовано (`commentsCount`); индикатор M
непрочитанных — Д-нюанс на след. проход.
- [Ф][done] Аватары назначенных — есть (отображение).
**Всплывающее меню карточки (⋯ / long-press, `CardMenuEntries`)** — в нативе overflow-меню НЕТ
(тап открывает лист; часть действий — кнопками листа):
- [Ф][done] «**Сведения о карточке**» — тап открывает лист-деталь.
- [Ф][done] «**Изменить заголовок**» — в листе.
- [Ф][done] «**Назначить мне / Снять назначение с меня**» — реализовано (кнопка в листе-детали,
`toggleAssignSelf`; назначение ПРОИЗВОЛЬНОГО пользователя — отдельный пункт, экран 5).
- [Ф][done] «**Отметить выполненной / невыполненной**» — чекбокс done есть.
- [Ф][open] «**Переместить/копировать карточку**» — есть перенос между колонками ОДНОЙ доски
(чипы), но нет копирования и переноса на ДРУГУЮ доску.
- [Ф][done] «**Архивировать/Разархивировать карточку**» — кнопка «В архив» есть.
- [Ф][done] «**Удалить карточку**» — кнопка «Удалить» есть.
- [Ф][open] «**Отменить удаление**» (Undo-тост) — натив удаляет сразу, без отмены.
- [Ф][done] Перенос карточки между колонками (в вебе drag-n-drop) — натив реализует переносом
через чипы «Колонка» (Д-нюанс: без DnD-жеста).
## Экран 5: Лист-деталь / сайдбар карточки (Свойства/Вложения/Комментарии/Активность) — Ff 38.9% (11 open Ф / 18)
**Свойства (Details):**
- [Ф][done] Метки: назначить/снять (toggle меток доски) — есть.
- [Ф][open] Метки: «**Создать новую метку**» — натив только тогглит существующие.
- [Ф][open] Назначение: «**Назначить пользователю…**» — нет (write).
- [Ф][open] Назначение: снять назначение — нет.
- [Ф][done] Срок: выбрать дату (DatePicker) — есть.
- [Ф][done] Срок: «**быстрые опции**» — реализованы чипы Сегодня/Завтра/Выходные/Неделя
(`deckQuickDueIso`). *(«Позже сегодня» с часом — Д-нюанс, натив ставит дату; на след. проход.)*
- [Ф][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/Колонка/Карточка) | 72.0% | 7/25 |
| 5. Лист-деталь карточки | 38.9% | 11/18 |
| 6. Сайдбар доски | 0.0% | 10/10 |
| 7. Move/copy карточки | 25.0% | 3/4 |
| 8. Настройки Deck | 0.0% | 3/3 |
| **Ff_app (среднее)** | **25.3%** | **47/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, когда дойду до вложений.