## 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: вернуть разметку и перезапустить сервис.