from fastapi import APIRouter, Request from fastapi.responses import HTMLResponse, RedirectResponse from fastapi.templating import Jinja2Templates from core.data_processor import get_upcoming_events, get_remarks, invalidate_cache from pathlib import Path router = APIRouter() BASE_DIR = Path(__file__).parent.parent templates = Jinja2Templates(directory=str(BASE_DIR / "templates")) # Admin auf Root @router.get("/", response_class=HTMLResponse) async def admin_page(request: Request): from core.config_loader import config return templates.TemplateResponse("admin.html", { "request": request, "links": config['links'] }) # Tabelle unter /zeiten @router.get("/zeiten", response_class=HTMLResponse) async def times_table(request: Request): events = get_upcoming_events() remarks = get_remarks() return templates.TemplateResponse("index.html", { "request": request, "events": events, "remarks": remarks }) @router.get("/cache-clear") async def clear_cache(): invalidate_cache() # Relativer Redirect zurück zum Admin-Interface return RedirectResponse(url="./")