109 lines
9.6 KiB
Markdown
109 lines
9.6 KiB
Markdown
# Diff: Задачи (Tasks) — итерация 1 (2026-07-13)
|
|
|
|
Ff_app: **18.4%** · Fd_app: **46.5%** (среднее по 8 экранам, невзвешенно) · n-a: 0
|
|
|
|
> Прогресс P1 (коммит `23f7565`): умные коллекции выведены в панель (агрегат + счётчики +
|
|
> открытие). Пункты помечены `done` = сделано в коде, **ждёт девайс-сверки** (тест-аккаунт —
|
|
> блокер лида); подтверждённого второго прогона на устройстве ещё не было.
|
|
|
|
Сверка веб (`nextcloud/tasks v0.17.1` + тема) ↔ натив (`feature/tasks`: `TasksScreen`,
|
|
`TasksComponents`, `TasksViewModel`, `TasksRepository`, `TasksSmartLists`). Метки: `[Ф|Д]`
|
|
(функционал/дизайн) · `[open|done|n-a]`. Это первый прогон — счётчики честно низкие: натив
|
|
покрывает базовый CRUD + группировку + движок умных списков (в коде, не в UI). Живую визуал-сверку
|
|
на forbion (`bmob-*`, mail/085) добавлю следующим проходом — сейчас diff из кода.
|
|
|
|
Прошу приоритизацию: предлагаемый порядок P1→P5 в конце.
|
|
|
|
---
|
|
|
|
## Экран 1. Панель навигации (списки + умные коллекции) — Ff 28.6% · Fd 80%
|
|
Ф (14, open 10):
|
|
- [Ф][done] умные коллекции в панели (Важное/Сегодня/Неделя/Все/Текущие/Завершённые) — выведены
|
|
(`23f7565`), тап открывает агрегированный вид; ждёт девайс-сверки
|
|
- [Ф][done] счётчики-бейджи на коллекциях
|
|
- [Ф][done] открыть реальный список
|
|
- [Ф][open] «Добавить список» (MKCALENDAR) — сейчас мёртвая кнопка
|
|
- [Ф][open] выбор цвета при создании списка
|
|
- [Ф][open] drag-сортировка списков
|
|
- [Ф][open] drag задачи на коллекцию (retag priority/complete/today/week)
|
|
- [Ф][open] открыть Корзину
|
|
- [Ф][done] открыть Настройки
|
|
- [Ф][open] «⋯» списка: поделиться · [Ф][open] изменить · [Ф][open] копировать ссылку ·
|
|
[Ф][open] экспорт · [Ф][open] удалить/unshare
|
|
Д (5, open 1): [Д][done] композиция (коллекции показаны) · [Д][done] иконки коллекций ·
|
|
[Д][done] вид счётчика · [Д][done] активный пункт (фон) · [Д][open] порядок (в вебе коллекции
|
|
выше списков и кнопки «Добавить»; в нативе кнопка «Добавить» сверху) · строка списка (40dp/иконка)
|
|
|
|
## Экран 2. Список задач — Ff 38.9% · Fd 75%
|
|
Ф (18, open 11):
|
|
- [Ф][done] создать задачу (быстрый ввод) · [Ф][open] создать несколько из вставки
|
|
- [Ф][open] фильтр по меткам · [Ф][open] сброс фильтра
|
|
- [Ф][open] выбор порядка сортировки (10 вариантов) · [Ф][done] направление ↑/↓
|
|
- [Ф][open] «Загрузить завершённые» (по списку/всем)
|
|
- [Ф][done] чекбокс выполнения · [Ф][done] открыть деталь · [Ф][done] поиск по тексту
|
|
- [Ф][done] добавить подзадачу · [Ф][done] удалить задачу
|
|
- [Ф][open] «⋯»: переключить важность (star) · [Ф][open] показать/скрыть подзадачи ·
|
|
[Ф][open] показать/скрыть завершённые подзадачи
|
|
- [Ф][open] индикатор pin · [Ф][open] индикатор «есть заметка»
|
|
Д (8, open 2): [Д][done] группировка по сроку · [Д][done] зона завершённых · [Д][done] строка
|
|
задачи · [Д][done] бейдж даты · [Д][done] пусто-состояние · [Д][done] чекбокс ·
|
|
[Д][open] звезда приоритета в строке · [Д][open] иконки/вид меню сортировки-фильтра
|
|
|
|
## Экран 3. Деталь задачи — Ff 30% · Fd 66.7%
|
|
Ф (20, open 14):
|
|
- [Ф][done] правка заголовка · [Ф][done] срок · [Ф][open] дата начала · [Ф][open] «весь день»
|
|
- [Ф][open] статус (Требует действия/В процессе/Отменено/Очистить) · [Ф][open] классификация
|
|
- [Ф][done] приоритет · [Ф][open] %-выполнения (слайдер)
|
|
- [Ф][open] метки · [Ф][open] локация · [Ф][open] URL · [Ф][open] смена списка задачи
|
|
- [Ф][open] напоминания (до старта/до срока/дата-время) · [Ф][done] заметка/описание
|
|
- [Ф][open] закрепить (pin) · [Ф][open] показать в Календаре · [Ф][open] показать в Deck
|
|
- [Ф][open] экспорт · [Ф][done] удалить · [Ф][done] переключить выполнение
|
|
Д (6, open 2): [Д][done] лейаут шита · [Д][open] вкладки Подробно/Заметки · [Д][done] pill-поля ·
|
|
[Д][done] нативные пикеры · [Д][done] типографика · [Д][open] слайдеры приоритет/%
|
|
|
|
## Экран 4. Параметры задач (Настройки) — Ff 0% · Fd 50%
|
|
Ф (2, open 2): [Ф][open] список по умолчанию (не персистится) · [Ф][open] видимость коллекций
|
|
(2 варианта вместо 3, неактивно — надо 3-state + SharedPreferences + влияние на панель)
|
|
Д (2, open 1): [Д][done] композиция шита · [Д][open] контрол 3-state (Скрыта/Видима/Авто)
|
|
|
|
## Экран 5. Правка/создание списка — Ff 0% · Fd 0% (экрана нет в нативе)
|
|
Ф (3, open 3): [Ф][open] имя списка · [Ф][open] цвет · [Ф][open] сохранить (PROPPATCH)
|
|
Д (1, open 1): [Д][open] модалка правки
|
|
|
|
## Экран 6. Шаринг списка — Ff 0% · Fd 0% (нет в нативе)
|
|
Ф (4, open 4): [Ф][open] поиск пользователей/групп · [Ф][open] выдать доступ ·
|
|
[Ф][open] список получателей · [Ф][open] отозвать
|
|
Д (1, open 1): [Д][open] модалка шаринга
|
|
|
|
## Экран 7. Корзина — Ff 0% · Fd 0% (нет в нативе)
|
|
Ф (4, open 4): [Ф][open] список удалённых · [Ф][open] восстановить · [Ф][open] очистить ·
|
|
[Ф][open] сортировка по дате
|
|
Д (1, open 1): [Д][open] модалка/таблица корзины
|
|
|
|
## Экран 8. Диалоги создания — Ff 50% · Fd 100%
|
|
Ф (2, open 1): [Ф][done] создать задачу · [Ф][open] создать несколько из вставки
|
|
Д (1, open 0): [Д][done] диалог создания
|
|
|
|
---
|
|
|
|
## Итог и предлагаемый приоритет
|
|
Ff_app = (28.6+38.9+30+0+0+0+0+50)/8 = **18.4%**;
|
|
Fd_app = (80+75+66.7+50+0+0+0+100)/8 = **46.5%**. Обе далеко от 98% — Задачи требуют нескольких
|
|
итераций. Крупные функциональные дыры (по влиянию на Ff):
|
|
|
|
- **P1 — Умные коллекции в UI** (`TasksListNavView` + счётчики + 3-state видимость с персистом).
|
|
Движок готов (`TasksSmartLists`). **Частично сделано** (`23f7565`: коллекции+счётчики+открытие);
|
|
остаётся 3-state видимость (Скрыта/Видима/Авто) в шите настроек + персист (SharedPreferences).
|
|
- **P2 — Управление списками**: рабочее «Добавить список» + цвет, «⋯» списка (переименовать/цвет/
|
|
удалить/экспорт/копировать ссылку), шаринг. Часть — core DAV (PROPPATCH/MKCALENDAR/share) —
|
|
**согласую с тобой ДО** (образец у calendar). Мой модуль + core-точки.
|
|
- **P3 — Богатая деталь**: старт-дата/весь день, статус, %-слайдер, метки, локация/URL, смена
|
|
списка, напоминания, pin. Метки/напоминания — крупные подсистемы; уточню объём.
|
|
- **P4 — Сортировка (10 порядков) + фильтр по меткам** вместо тумблера; «Загрузить завершённые».
|
|
- **P5 — Корзина** (DAV trashbin) — навигация/core, вероятно твой ход.
|
|
|
|
Вопросы к тебе: (1) порядок P1–P5 ок? (2) метки (tags) и напоминания (VALARM) — беру целиком в
|
|
`feature/tasks` или это кросс-модульное (метки шарятся с Календарём)? (3) Корзину относить в мой
|
|
модуль или это core/навигация? (4) экраны 5/6/7 считать полноценными (тянут среднее в 0) или
|
|
частью экрана навигации — уточни методику усреднения для «отсутствующих» экранов.
|