Реальные подписи forbion (Ожидающие выполнения/Свойства/секции обзора), добавлен блок «Режимы просмотра» (архивные/компактный/обложки), отмечено отсутствие Архивные/Shared доски в мобильной навигации. Ни одной пишущей операции.
22 KiB
Карта: Карточки (Deck)
Приложение «Карточки» (/apps/deck/) на forbion.f7cloud.ru. Структура кнопок/меню/переходов
снята из кода (метод mail/078): апстрим nextcloud/deck v1.16.4 (src/**/*.vue — точная
версия с forbion, канон README) + мобильная тема forbion
(design-reference/forbion-theme/css/pages/pages-mobile/_mobile-deck.css,
css/pages/app-deck/_app-deck.css). Живой мобильный web (Browser 1, cloude, mail/079) — только
для визуальной сверки «как выглядит/порядок»; строго read-only (mail/073): ничего не
создаётся/не меняется/не удаляется. Приватность: реальные названия досок/карточек не
фиксируются — только структура UI и дерево переходов.
Статус визуальной сверки на живом forbion: выполнена 2026-07-12 (Browser 1,
cloude, мобильный вьюпорт через same-origin iframe 390px, read-only — ни одной пишущей операции). Реальные русские подписи forbion внесены ниже; расхождения кода ↔ живой темы помеченысверено:. Пройдены: Обзор, Все доски, доска (Controls+стеки+карточки), сайдбар карточки.
Компоненты-источники (nextcloud/deck v1.16.4)
Навигация: navigation/AppNavigation.vue (+ AppNavigationAddBoard, AppNavigationBoard,
AppNavigationBoardCategory, AppNavigationImportBoard, BoardCloneModal, BoardExportModal).
Список досок: boards/Boards.vue, boards/BoardItem.vue. Обзор: overview/Overview.vue
(+ dashboard/Card.vue, views/DashboardToday|Tomorrow|Upcoming.vue). Доска: board/Board.vue,
board/Stack.vue, Controls.vue. Карточка на доске: cards/CardItem.vue, cards/CardMenu.vue,
cards/CardMenuEntries.vue, cards/CardBadges.vue, cards/AvatarList.vue, cards/badges/DueDate.vue,
cards/badges/CardId.vue. Сайдбар карточки: card/CardSidebar.vue + табы CardSidebarTabDetails
(→ TagSelector, AssignmentSelector, DueDateSelector, Description, AttachmentList),
CardSidebarTabAttachments, CardSidebarTabComments (+ CommentForm, CommentItem),
CardSidebarTabActivity. Сайдбар доски: board/BoardSidebar.vue + SharingTabSidebar,
TagsTabSidebar, DeletedTabSidebar, TimelineTabSidebar. Диалоги: CardMoveDialog.vue,
CardCreateDialog.vue, BoardSelector.vue, CardSelector.vue. Настройки: DeckAppSettings.vue
(+ KeyboardShortcuts.vue).
Вход
Шторка приложений (по «трём полоскам») → «Карточки», или прямой URL /apps/deck/. Оболочку
(нижняя панель, шторка, бургер) описывает shell.md (зона лида) — здесь только специфика
приложения. На мобильном (узкий вьюпорт) тема (_mobile-deck.css) раскладывает доску
колонками по вертикали (.smooth-dnd-container.horizontal { flex-direction: column }),
навигацию убирает под бургер/шторку навигации, а сайдбары/модалки/настройки раскрывает на
весь экран (modal-container height:100%, modal-header скрыт).
Экран: Навигация приложения (левая шторка — AppNavigation)
На мобильном — за «бургером»/шторкой навигации приложения (не нижняя панель оболочки).
Тело (пункты по порядку, сверено: подписи с forbion):
- «Ожидающие выполнения» (Upcoming cards,
to="/") → экран «Обзор» (дашборд по срокам).сверено:на forbion пункт назван «Ожидающие выполнения», это и есть лендинг приложения. - «Все доски» (All boards,
to="/board", иконка deck) → список досок. - Список личных досок (каждая —
AppNavigationBoard, см. ниже), сгруппировано по категориям (AppNavigationBoardCategory). - «Добавить доску» (Add board, иконка +) → инлайн-создание: цветной bullet (палитра-пикер) + поле «Имя доски» (Board name) + кнопки «Отмена правки»/«Сохранить доску». (write — не жму.)
- «Импортировать доску» (Import board, иконка upload) → диалог импорта (файл). (write — не жму.)
- Внизу: «Настройки Deck» (Deck settings, шестерёнка) → модалка настроек.
сверено:в мобильной навигации forbion пунктов «Архивные доски» (/board/archived) и «Доски, доступные вам» (/board/shared) НЕ видно — в коде они есть (AppNavigation), но на узком вьюпорте тема их не выводит (или показывает только при непустом списке). Для нативного клиента это скорее плюс: паритет по видимой мобильной навигации не требует этих двух видов.
Меню доски (⋯ на пункте доски — AppNavigationBoard NcActions)
Порядок пунктов из кода:
- «Сведения о доске» (Board details, icon-info) → открывает сайдбар доски (см. ниже).
- «Редактировать доску» (Edit board, icon-rename; если canManage и не архивная) → инлайн-правка названия/цвета.
- «Клонировать доску» (Clone board; если canCreate) → модалка
BoardCloneModal. - «Разархивировать доску» / «Архивировать доску» (Unarchive/Archive board) — тумблер.
- «Экспортировать доску» (Export board, icon-download) → модалка
BoardExportModal. - «Вкл./выкл. напоминания о сроках» → подменю «Напоминания о сроках» (Due date reminders): «Все карточки» (All cards) / «Назначенные карточки» (Assigned cards) / «Выкл.» (Off). (все write — не выполняю.)
Экран: Все доски (список — Boards.vue)
Тело: таблица-список досок. Тема (_app-deck.css, _mobile-deck.css) делает каждую строку
карточкой (border, radius 8px). Колонки-заголовки (board-list-header-row):
- «Имя доски» (Board name) — bullet цвета доски + название (тап по строке → открыть доску).
- «Участники» (Members) — аватары ACL (
AvatarList; если >5 — «+N» иконкой more). - Поле фильтра списка
navFilter(быстрый поиск по названию доски) —визуал(?)(положение на мобильной вёрстке). Пустое состояние: стандартныйNcEmptyContent(тема подставляет deck-иконку).
Экран: Доска (Board.vue + Controls.vue)
Шапка (Controls) — сверено: на мобильном forbion в шапке доски 4 контрола (иконками):
- «Добавить список» (Add list) — инлайн-поле «Имя списка» (List name) + подтверждение. (write — не жму.)
- «Применить фильтр» (иконка-воронка; активная = primary). Раскрывает поповер фильтров:
- «Фильтр по метке» (Filter by tag) — чекбоксы по меткам доски.
- «Фильтр по назначенному» (Filter by assigned user) — «Без назначения» (Unassigned) + список пользователей доски.
- «Фильтр по статусу» (Filter by status) — «Открытые и выполненные» / «Открытые» / «Выполненные».
- «Режимы просмотра» (View modes, иконка-сетка) —
сверено:поповер с переключателями: «Показывать архивные карточки», «Выбор компактного или обычного режима просмотра», «Показывать обложки карточек». (в карте кода этого блока не было — добавлено по сверке.) - «Открыть подробности» (Open details, ⋯) → сайдбар доски (Общий доступ/Метки/Удалённые/Активность).
- «Добавить карточку» (Add card) в коде тоже есть в Controls — на мобильном быстрый ввод идёт
из шапки колонки (см. Stack). (write — не жму.)
Тело: колонки-списки (
Stack) по вертикали (мобильная тема), в каждой — карточки. Состояния: «Загрузка доски» (Loading board) / «Доска не найдена» (Board not found) / пусто «Нет доступных списков» (No lists available) + «Создать новый список, чтобы добавлять карточки» + поле «Имя списка».
Колонка-список (Stack.vue)
Шапка колонки:
- Заголовок списка — тап (canManage) → инлайн-правка «Изменить заголовок списка» (Edit list title).
- Меню колонки (⋯,
NcActions): «Архивировать все карточки» (Archive all cards) / «Разархивировать все карточки» (Unarchive all cards) → подтверждение («Архивировать все карточки в этом списке» + Архивировать/Отмена); «Удалить список» (Delete list). (все write — не выполняю.) - «Добавить карточку» (Add card) → инлайн-поле «Имя карточки» (Card name). (write — не жму.)
Тело: карточки (
CardItem), drag-n-drop переносом между колонками (мышью/тачем).
Карточка на доске (CardItem + CardBadges)
- Тап по карточке → сайдбар/деталь карточки.
- Заголовок (тап при canEdit / клавиша
E→ инлайн-правка «Edit card title»). - Бейджи (
CardBadges): срок (DueDate— цвет по просрочке, «выполнено»→галочка), счётчик «чек-пунктов» (Todo items), счётчик «комментариев» (N comments, M unread), аватары назначенных (AvatarList), ID карточки (если включён бейдж ID в настройках). - Меню карточки (⋯ / long-press,
CardMenuEntries): «Сведения о карточке» (Card details) → сайдбар; «Изменить заголовок» (Edit title); «Назначить мне» / «Снять назначение с меня» (Assign to me / Unassign myself); «Отметить выполненной» / «Отметить невыполненной» (Mark as done / not done); «Переместить/копировать карточку» (Move/copy card) → диалог; «Архивировать» / «Разархивировать карточку» (Archive/Unarchive card); «Удалить карточку» (Delete card) — с тостом «Карточка удалена» + «Отменить» (undo). (все write — не выполняю.) - Клавиши на карточке:
Eправка заголовка,Sназначить себя, archive/done по хоткею (см. настройки).
Экран: Обзор / Предстоящие карточки (Overview.vue)
Дашборд карточек по срокам (to="/", заголовок экрана «Ожидающие выполнения» + кнопка «+»),
колонки-секции (мобильная тема ставит их в столбец). сверено: реальные подписи forbion:
«Просроченные», «Сегодня», «Завтра», «Ближайшие 7 дней», «Позже»,
«Без назначенной даты». Каждая секция — список dashboard/Card.vue (карточки с меткой,
иконкой описания и ⋯). Состояние загрузки: «Загрузка отфильтрованного вида».
Сайдбар карточки (CardSidebar — на мобильном во весь экран)
Шапка: заголовок карточки (редактируемый), меню (⋯): «Открыть в боковом виде» (Open in
sidebar view) / «Открыть в большом виде» (Open in bigger view). Подпись «Изменено … ⸱ Создано …».
Табы (по порядку) — сверено: на forbion таб Details назван «Свойства», далее
«Вложения», «Комментарии», «Активность»:
- Свойства (Details) —
CardSidebarTabDetails, порядок секций (сверено на живой карточке: метка → назначение → срок → описание):- «Назначить метку карточке…» (
TagSelector) — комбобокс «Выбрать или создать метку…», можно «Создать новую метку». - «Назначить пользователю/группе/команде» (
AssignmentSelector) — «Выбрать пользователя…». - «Назначить срок карточке…» (
DueDateSelector) — «Установить срок» / «Добавить срок»; быстрые опции: «Позже сегодня», «Завтра», «В эти выходные», «На след. неделе»; «Выбрать дату» (Choose a date) → пикер; «Убрать срок» (Remove due date); «Отметить выполненной» (Mark as done); при наличии — «Срок: …»/«Не выполнено»; «Архивировать карточку». - (если включены проекты) блок связанных проектов (
NcCollectionList). - «Описание» (
Description) — «Редактировать описание» / «Просмотр описания», «Справка по форматированию», «Добавить вложение», плейсхолдер «Напишите описание …»; статусы «(Не сохранено)»/«(Сохранение…)».
- «Назначить метку карточке…» (
- Вложения (Attachments) —
CardSidebarTabAttachments(+AttachmentList): «Загрузить новые файлы» (Upload new files), «Поделиться из Файлов» (Share from Files); по элементу: «Показать в Файлах», «Скачать» (Download), «Удалить вложение», «Восстановить вложение»; drop-зона «Перетащите файлы для загрузки»; «Эта доска только для чтения». - Комментарии (Comments) —
CardSidebarTabComments(+CommentForm): поле ввода + «Сохранить»; пусто «Пока нет комментариев. Начните обсуждение!». - Активность (Activity) —
CardSidebarTabActivity(если включён Activity-апп). (все действия табов — write, на forbion не выполняю.)
Сайдбар доски (BoardSidebar — во весь экран на мобильном)
Табы: «Общий доступ» (Sharing) — SharingTabSidebar: «Поделиться доской с пользователем,
группой или командой …», права по ACL (Can edit / Can share / Can manage / Owner), «Передать
доску» (Transfer) с подтверждением, «Удалить» доступ; «Метки» (Tags) — TagsTabSidebar:
список меток, «Добавить новую метку», по метке — «Редактировать»/«Удалить»; «Удалённые
элементы» (Deleted items) — DeletedTabSidebar: «Удалённые списки» / «Удалённые карточки»
(восстановление); «Активность» (Activity). (все write — не выполняю.)
Диалог: Переместить/копировать карточку (CardMoveDialog)
- «Выбрать доску» (Select a board) — комбобокс.
- «Выбрать список» (Select a list; «Нет доступных списков», если пусто).
- Кнопки «Переместить карточку» (Move card) / «Копировать карточку» (Copy card).
Модалка: Настройки Deck (DeckAppSettings — во весь экран на мобильном)
- Общее (General): «Использовать увеличенный вид карточки» (Use bigger card view).
- Внешний вид (Appearance): «Показывать бейдж ID карточки» (Show card ID badge), «Показывать доски в календаре/задачах» (Show boards in calendar/tasks).
- Настройки администратора (Admin settings, если админ): «Ограничить создание досок группами».
- Комбинации клавиш (
KeyboardShortcuts): действия доски (Scroll sideways, навигация стрелками, Escape закрыть карточку, Ctrl+F поиск, F фильтры, X сброс фильтров, ? справка) и карточки (Enter/Space открыть, E правка заголовка, S назначить себя). В теме forbion секция клавиш может быть скрыта на мобильном —визуал(?).
Расхождения с нативным клиентом (feature/deck) — бэклог
Нативный модуль (DeckRepository/DeckScreen/DeckCardSheet/DeckViewModel) сейчас покрывает:
список неархивных досок, доску колонками, карточки (метки/срок/исполнители-чтение/done/
счётчик), деталь карточки (правка названия/описания, срок через пикер, done, toggle меток,
перенос между колонками, архив, удаление), создание карточки и колонки, учёт PERMISSION_EDIT.
Отсутствует против веба (приоритетный бэклог):
- Обзор/Предстоящие карточки — дашборда по срокам (Просрочено/Сегодня/…/Без срока) нет.
- Архивные доски и Доски, доступные вам — отдельных видов нет (архивные доски просто скрыты).
- Фильтры доски — по метке / назначенному / статусу; поиска по доске нет.
- Исполнители — только чтение: нет «Назначить мне/пользователю», снятия (совпадает с долгом №1 плана mail/071, п.2).
- Комментарии и Вложения карточки — нет совсем (вложения явно в зоне, mail/065).
- Меню/CRUD колонки: правка заголовка списка, «Архивировать/Разархивировать все карточки», «Удалить список» — в приложении нет (только создание).
- CRUD досок: создать/править/клонировать/архивировать/экспортировать/импортировать доску — нет; переименования колонок нет.
- Move/copy на другую доску — нативно только перенос между колонками одной доски.
- Метки (Tags) доски — управления (создать/править/удалить) нет; toggle существующих есть.
- Sharing / Deleted items / Activity доски — нет.
- Быстрые опции срока (Позже сегодня/Завтра/Выходные/След. неделя) — в пикере нет.
- Режимы просмотра доски (
сверено:шапка forbion): показ архивных карточек, компактный/ обычный режим, обложки карточек — в нативном клиенте нет. - Напоминания о сроках (notify-due) и бейдж ID / увеличенный вид из настроек — нет.
- Undo при удалении карточки — в вебе есть тост-отмена; в нативном удаление сразу.
- Мелочь UI: счётчики чек-пунктов и комментариев на карточке доски — не показываются.