mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
openspec: архив 14 завершённых change-ов (веб-фиксы, crawler-queue, own-content-hub, publisher-service); спеки влиты в openspec/specs
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
## Why
|
||||
|
||||
Список кандидатов — «почтовый клиент»: слева список карточек, справа детали.
|
||||
Сейчас все карточки выглядят одинаково, не видно, какие посты уже смотрели,
|
||||
а какой пост выбран (открыт) — не выделен, кроме цвета текста ссылки.
|
||||
|
||||
Пользователь хочет как в почтовых клиентах:
|
||||
- непрочитанные посты — жирным шрифтом;
|
||||
- прочитанные — обычным (как сейчас);
|
||||
- выбранный (открытый) пост — светло-голубая заливка всей карточки.
|
||||
|
||||
Плюс: по умолчанию группировка должна быть ПО ДАТЕ (хронология получения),
|
||||
а не по источнику.
|
||||
|
||||
## What Changes
|
||||
|
||||
- БД: колонка `posts.is_read INTEGER DEFAULT 0` (0 = не прочитан, 1 = прочитан).
|
||||
- Web:
|
||||
- выбор поста (GET /candidates?selected=N или POST /candidates/select)
|
||||
помечает его `is_read=1`;
|
||||
- карточка непрочитанного поста в списке — жирный текст (`fw-bold` на
|
||||
заголовке/тексте), прочитанного — обычный (как сейчас);
|
||||
- карточка выбранного поста — светло-голубая заливка всей карточки
|
||||
(вместо текущего `fw-bold text-primary` на ссылке);
|
||||
- дефолт `group_by` в GET /candidates и POST /candidates/select — `date`
|
||||
вместо `source` (хронологический порядок получения: сегодня → вчера →
|
||||
неделя → раньше).
|
||||
|
||||
## Why Not
|
||||
|
||||
- Не менять статус при публикации/отклонении: прочитанность — отдельный
|
||||
флаг просмотра, не связан со статусом.
|
||||
- Не делать авто-прочтение всех при заходе на страницу: только выбранный
|
||||
пост становится прочитанным (как в почте).
|
||||
- Группировка по дате — дефолт, но переключатель (источник/статус) остаётся.
|
||||
|
||||
## Impact
|
||||
|
||||
- Файлы: `db/schema.sql` (колонка), `web/app.py` (миграция при старте +
|
||||
дефолт группировки + прочтение при выборе), `web/templates/candidates.html`
|
||||
(классы карточек).
|
||||
- Данные: ALTER TABLE (новые посты is_read=0 — непрочитанные; старые
|
||||
после миграции тоже 0).
|
||||
- Сервис: `vesti-web` (:8400) — перезапуск.
|
||||
- Rollback: убрать колонку/правки и перезапустить.
|
||||
Reference in New Issue
Block a user