Убрал из беклога реализованные UI/UX-задачи (docs)
Сделаны в change web-ui-list-detail и убраны из беклога: - «Главная: список загрузок вместо таблицы» - «Расширенная информация о загрузке в web-UI» - «Список загрузок: фильтр, поиск, пагинация» - «Полировка веб-UI: список и карточка загрузки» «Улучшения UI: показывать матч» сужено до Telegram (web-сторона сделана). Поправлены перекрёстные ссылки в оставшихся пунктах, чтобы не висли на удалённые якоря. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-68
@@ -62,9 +62,9 @@ qBittorrent с файлами), подтверждение осознаннос
|
||||
- при выборе/переключении — **предпросмотр полей** (название, режиссёр,
|
||||
год) и **предпросмотр раскладки** (целевые пути) до применения.
|
||||
|
||||
Развивает «показывать матч с записью метабазы» (web-сторона), пересекается
|
||||
с «Расширенной информацией о загрузке» (детальный экран) и быстрым выбором
|
||||
в Telegram. Веб остаётся точкой точных правок.
|
||||
Развивает уже реализованный показ матча в вебе (страница загрузки и экран
|
||||
ревью — провайдер, id, ссылка на запись) и детальный экран `/download/{id}`;
|
||||
пересекается с быстрым выбором в Telegram. Веб остаётся точкой точных правок.
|
||||
|
||||
Связано: [review-ux.md](specs/review-ux.md) (выбор кандидата, «без базы»,
|
||||
переключатель типа), [recognition.md](specs/recognition.md) (кандидаты
|
||||
@@ -192,39 +192,12 @@ qBittorrent, пул LLM-вызовов и запись в SQLite спроект
|
||||
карточке/расширенной информации и фундамент для метрик длительности стадий.
|
||||
Естественно ложится на собственный идентификатор загрузки.
|
||||
|
||||
Связано: [«Расширенная информация о загрузке»](#расширенная-информация-о-загрузке-в-web-ui)
|
||||
(лог переходов), [workflow.md](specs/workflow.md) (граф состояний),
|
||||
Связано: детальный экран загрузки (`/download/{id}`) уже реализован — лог
|
||||
переходов ложится в него; [workflow.md](specs/workflow.md) (граф состояний),
|
||||
[«Наблюдаемость: метрики»](#наблюдаемость-метрики-и-учёт-стоимости-llm)
|
||||
(длительности стадий), [database.md](specs/database.md), пакеты `worker`,
|
||||
`store`.
|
||||
|
||||
### Главная: список загрузок вместо таблицы
|
||||
|
||||
Переделать главную страницу из таблицы в **список** карточек. Для каждой
|
||||
загрузки: название (как распознали при добавлении в qBittorrent), `infohash`
|
||||
с кнопкой быстрого копирования, статус и кнопки действий. Контекст (исходное
|
||||
сообщение/magnet) спрятать под спойлер или вынести на отдельный детальный
|
||||
экран (см. «Расширенная информация о загрузке»). Естественно сочетается с
|
||||
фильтром/поиском/пагинацией по мере роста БД.
|
||||
|
||||
Связано: [«Расширенная информация о загрузке в web-UI»](#расширенная-информация-о-загрузке-в-web-ui),
|
||||
[«Список загрузок: фильтр, поиск, пагинация»](#список-загрузок-фильтр-поиск-пагинация),
|
||||
[review-ux.md](specs/review-ux.md), пакет `httpapi`.
|
||||
|
||||
### Расширенная информация о загрузке в web-UI
|
||||
|
||||
Отдельная страница просмотра одной загрузки — целиком отображение того, что
|
||||
лежит в БД по задаче: актуальный статус (текущее состояние + лог переходов),
|
||||
исходный контекст и magnet, распознанные данные и матч в метабазе (см.
|
||||
«показывать матч»), а также **точная раскладка, если есть** — целевые пути и
|
||||
созданные хардлинки. Помогает разбираться, когда что-то пошло не так, без
|
||||
чтения логов сервера. Сюда же выносится контекст с карточки в списке
|
||||
загрузок.
|
||||
|
||||
Связано: [«Главная: список загрузок»](#главная-список-загрузок-вместо-таблицы),
|
||||
[review-ux.md](specs/review-ux.md), [architecture.md](specs/architecture.md)
|
||||
→ «Хранилище» (`download`/`recognition`/`file_link`), пакет `httpapi`.
|
||||
|
||||
### Машина состояний на go-библиотеке
|
||||
|
||||
Сейчас FSM реализована вручную в `worker`. Выбрать подходящую go-библиотеку
|
||||
@@ -268,11 +241,12 @@ qBittorrent, пул LLM-вызовов и запись в SQLite спроект
|
||||
|
||||
### Улучшения UI: показывать матч с записью метабазы
|
||||
|
||||
Во всех транспортах (веб, Telegram) показывать, **с какой именно записью**
|
||||
метабазы (TMDB/TVDB) сматчилась загрузка: название, год, провайдер-id,
|
||||
ссылку. Сейчас результат распознавания непрозрачен — пользователь не видит,
|
||||
к чему привязались, и не может быстро поймать ошибочный матч. На web-стороне
|
||||
развивается в полноценный выбор источника — см. [«Ревью: выбор источника
|
||||
Web-сторона реализована: страница загрузки `/download/{id}` и экран ревью
|
||||
показывают, **с какой именно записью** метабазы (TMDB/TVDB/IMDb) сматчилась
|
||||
загрузка — провайдер, id и ссылку на запись. Осталось довести то же в
|
||||
**Telegram**: в уведомлениях/подтверждениях показывать запись матча (название,
|
||||
год, провайдер-id, ссылку), чтобы ошибочную привязку было видно и из бота.
|
||||
Полный выбор источника в вебе — см. [«Ревью: выбор источника
|
||||
совпадения»](#ревью-выбор-источника-совпадения-и-предпросмотр).
|
||||
|
||||
Связано: [review-ux.md](specs/review-ux.md), [recognition.md](specs/recognition.md)
|
||||
@@ -347,22 +321,6 @@ qBittorrent, без исходящих запросов на пользоват
|
||||
[«Многоступенчатая верификация»](#многоступенчатая-верификация-привязки-идея),
|
||||
[architecture.md](specs/architecture.md) → «Хранилище» (`hint`, `override`).
|
||||
|
||||
### Список загрузок: фильтр, поиск, пагинация
|
||||
|
||||
Прямое следствие роста БД (см. «Ретеншн»): плоский список загрузок со
|
||||
временем становится непригоден. Нужны фильтр по состоянию, поиск по
|
||||
названию и пагинация. Естественно ложится на список-карточки главной и на
|
||||
экран расширенной информации.
|
||||
|
||||
Частный случай как разумный дефолт: на главной **по умолчанию скрывать
|
||||
загрузки в статусе `deleted`** (терминальные, удалённые из источника и
|
||||
цели — шум в ленте), с переключателем/фильтром «показать всё». Маленькая
|
||||
часть, может приехать раньше полноценного фильтра.
|
||||
|
||||
Связано: [«Главная: список загрузок»](#главная-список-загрузок-вместо-таблицы),
|
||||
[«Расширенная информация о загрузке в web-UI»](#расширенная-информация-о-загрузке-в-web-ui),
|
||||
пакет `httpapi`.
|
||||
|
||||
## Низкий
|
||||
|
||||
### Мгновенные обновления через SSE
|
||||
@@ -378,21 +336,6 @@ qBittorrent, без исходящих запросов на пользоват
|
||||
Связано: [architecture.md](specs/architecture.md) → «Транспорты»,
|
||||
[review-ux.md](specs/review-ux.md), пакет `httpapi`.
|
||||
|
||||
### Полировка веб-UI: список и карточка загрузки
|
||||
|
||||
Мелкие правки вёрстки и согласованности (низкая цена, заметный эффект):
|
||||
|
||||
- в списке на главной показывать имя загрузки **ровно то**, что отдаём в
|
||||
qBittorrent как имя раздачи, — чтобы список и клиент были синхронны
|
||||
(уточняет [«Главная: список загрузок»](#главная-список-загрузок-вместо-таблицы));
|
||||
- в карточке блок «Распознано как» растянуть на всю ширину блока (сейчас
|
||||
обрывается на середине);
|
||||
- в блоке «Файлы и раскладка» приклеить стрелку к первой строке
|
||||
(файл-источник), чтобы источник и цель выводились строго один под другим.
|
||||
|
||||
Связано: [«Главная: список загрузок»](#главная-список-загрузок-вместо-таблицы),
|
||||
[review-ux.md](specs/review-ux.md), пакет `httpapi`.
|
||||
|
||||
### Многоступенчатая верификация привязки _(идея)_
|
||||
|
||||
Несколько раз извлекать данные из раздачи и контекста разными промптами,
|
||||
|
||||
Reference in New Issue
Block a user