"""HTML-страницы админки (серверный рендер Jinja2 + HTMX).""" from __future__ import annotations from fastapi import APIRouter, Request from fastapi.responses import HTMLResponse from common import __version__ router = APIRouter(tags=["pages"]) #: Разделы админки по плану Блока 4 (пока заглушки на главной). SECTIONS: tuple[tuple[str, str, str], ...] = ( ("messages", "Сообщения", "Тексты бота и предпросмотр с тегами {tag}"), ("schedules", "Расписания", "Время рассылок, дни недели и шаблон"), ("users", "Пользователи", "Ники, звания, баланс и подписка"), ("logs", "Логи", "События из ClickHouse с фильтрами"), ) @router.get("/", response_class=HTMLResponse) async def index(request: Request) -> HTMLResponse: """Главная страница: версия, окружение и список будущих разделов.""" templates = request.app.state.templates settings = request.app.state.settings return templates.TemplateResponse( request=request, name="index.html", context={ "version": __version__, "app_env": settings.app_env, "sections": SECTIONS, }, )