16 KiB
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, когда дойду до вложений.