Files
vesti/openspec/changes/archive/2026-09-16-candidates-buttons-order/proposal.md
T

2.9 KiB
Raw Blame History

Why

В прошлой сессии кнопку «Опубликовать» перенесли в approve-форму (вместе с полем комментария). В результате в правой панели деталей кандидата кнопки «Обработать моделью», «Переписать», «Отклонить» оказались ПОСЛЕ блока комментария отдельным flex-рядом — визуально «съехали» и разорвали основной ряд действий.

Пользователь: действия модератора должны быть над полем комментария, в одном ряду с «Опубликовать».

What Changes

  • В web/templates/candidates.html, правая панель выбранного поста:
    • Перенести кнопки «🤖 Обработать моделью», «✍️ Переписать», «🚫 Отклонить» из отдельного flex-ряда ПОСЛЕ approve-формы в ОДИН ряд с кнопкой «✅ Опубликовать» — НАД полем комментария.
  • Итоговая структура блока действий (когда пост не опубликован/не отклонён):
[✅ Опубликовать] [🤖 Обработать моделью] [✍️ Переписать] [🚫 Отклонить]
💬 Мой комментарий (будет первым в канале):
[textarea комментария]
[💾 Сохранить комментарий]
  • Логика видимости кнопок не меняется:
    • «Опубликовать» — статус != published;
    • «Обработать моделью», «Переписать» — статус != published;
    • «Отклонить» — статус != rejected и != published.

Why Not

  • Не объединять все кнопки в одну approve-форму: «Сохранить комментарий» использует отдельный эндпоинт (/posts/{id}/comment), а «Обработать моделью»/«Переписать»/«Отклонить» — свои POST-эндпоинты; в одну форму их не собрать без JS (а htmx/JS-сложная логика в проекте запрещены).
  • Оставлять текущий порядок нельзя — кнопки визуально разорваны.

Impact

  • Файл: web/templates/candidates.html (правка только разметки, без JS и эндпоинтов).
  • Данные: без изменений.
  • Сервис: vesti-web (:8400) — нужен перезапуск (Jinja2-кеш без --reload).
  • Rollback: вернуть разметку и перезапустить сервис.