import json from fastapi import APIRouter, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from pathlib import Path router = APIRouter() templates = Jinja2Templates(directory=str(Path(__file__).parent.parent / "templates")) @router.get("/", response_class=HTMLResponse) def dashboard(request: Request): return templates.TemplateResponse( request=request, name="dashboard.html", context={ "recent_printers": [], "recent_packages": [], }, ) @router.get("/drivers", response_class=HTMLResponse) def drivers_page(request: Request): from imptune.db.models import Driver drivers = list(Driver.select().order_by(Driver.uploaded_at.desc())) driver_data = [] for d in drivers: names = json.loads(d.driver_desc) if d.driver_desc else [] driver_data.append({"driver": d, "names": names}) return templates.TemplateResponse( request=request, name="drivers.html", context={"driver_data": driver_data}, )