mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
45 lines
2.9 KiB
Markdown
45 lines
2.9 KiB
Markdown
## 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: убрать колонку/правки и перезапустить. |