Files
vesti/openspec/changes/fix-published-page/proposal.md
T
kpa39l f890ad71f1 fix(web): статус группы при группировке по дате + published-страница
- _fetch_candidates: статус группы = доминирующий (new>rejected>published),
  а не первого поста → при group_by=date группа «Ранее на этой неделе»
  больше не выглядит опубликованной (openchange fix-date-group-status)
- base.html: padding-top 1.5rem→4.5rem — заголовок не перекрывается fixed-top меню
- published.html: ID поста на карточках (#N · направление)
- AGENT.MD: бэкапы автоматические по крону, вручную не запускать
2026-09-14 04:39:08 +00:00

2.6 KiB
Raw Blame History

Why

На странице опубликованных постов (/published):

  1. Заголовок «Опубликованные посты» перекрывается верхним меню. Причина: base.html использует navbar fixed-top (position: fixed, поверх контента), а body имеет только padding-top: 1.5rem (24px) — этого недостаточно: Bootstrap fixed-top navbar высотой ~56px перекрывает первые ~32px контента. Заголовок оказывается под меню.

  2. На карточках постов нет ID — невозможно быстро сослаться на конкретный пост (в интерфейсе кандидатов ID есть: #153, #136 и т.д.). При обсуждении «опубликуй/исправь пост такой-то» приходится искать по тексту.

What Changes

  • В web/templates/base.html:
    • Увеличить body { padding-top } с 1.5rem до 4.5rem (~72px), чтобы контент не заезжал под fixed-top navbar (56px + отступ).
  • В web/templates/published.html:
    • Добавить ID поста в карточку. Самый заметный вариант — в заголовок рядом с направлением: <span class="badge bg-secondary">#{{ p.id }} · {{ p.direction or '?' }}</span>, чтобы ID был виден сразу, как в кандидатах. Альтернатива — маленькая подпись в шапке карточки.

Why Not

  • Не менять fixed-top на статичную навигацию: меню должно оставаться доступным при скролле длинного списка опубликованных.
  • Не добавлять ID отдельной строкой: визуальный шум; лучше в существующем бейдже направления.
  • Не трогать кандидатов (там ID уже есть).

Impact

  • Файлы: web/templates/base.html, web/templates/published.html.
  • Данные: без миграций БД.
  • Сервис: vesti-web (:8400) — перезапуск не требуется для Jinja2-шаблонов (шаблоны читаются с диска при каждом рендере, tpl без кэша). Тем не менее для надёжности — sudo systemctl restart vesti-web.
  • Rollback: откатить правки шаблонов (git revert).