mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
2.9 KiB
2.9 KiB
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(хронологический порядок получения: сегодня → вчера → неделя → раньше).
- выбор поста (GET /candidates?selected=N или POST /candidates/select)
помечает его
Why Not
- Не менять статус при публикации/отклонении: прочитанность — отдельный флаг просмотра, не связан со статусом.
- Не делать авто-прочтение всех при заходе на страницу: только выбранный пост становится прочитанным (как в почте).
- Группировка по дате — дефолт, но переключатель (источник/статус) остаётся.
Impact
- Файлы:
db/schema.sql(колонка),web/app.py(миграция при старте + дефолт группировки + прочтение при выборе),web/templates/candidates.html(классы карточек). - Данные: ALTER TABLE (новые посты is_read=0 — непрочитанные; старые после миграции тоже 0).
- Сервис:
vesti-web(:8400) — перезапуск. - Rollback: убрать колонку/правки и перезапустить.