Fix template errors: Starlette new API + remove hx-headers escaping
- TemplateResponse now uses (request, name, context) signature for Starlette 0.36+ - Replace per-button hx-headers with global htmx:configRequest token injection in base.html - Fix JS cookie regex to handle leading semicolons correctly Tested: login, auth redirect, profile create/view/delete all return correct status codes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -66,13 +66,13 @@ def _redirect_if_unauth(request: Request):
|
||||
|
||||
@app.get("/login", response_class=HTMLResponse)
|
||||
async def login_page(request: Request):
|
||||
return TEMPLATES.TemplateResponse("login.html", {"request": request})
|
||||
return TEMPLATES.TemplateResponse(request, "login.html")
|
||||
|
||||
|
||||
@app.post("/login")
|
||||
async def login(request: Request, token: str = Form(...)):
|
||||
if token != AUTH_TOKEN:
|
||||
return TEMPLATES.TemplateResponse("login.html", {"request": request, "error": "Invalid token"})
|
||||
return TEMPLATES.TemplateResponse(request, "login.html", {"error": "Invalid token"})
|
||||
resp = RedirectResponse("/", status_code=303)
|
||||
resp.set_cookie("token", token, httponly=True, samesite="lax")
|
||||
return resp
|
||||
@@ -95,8 +95,7 @@ async def index(request: Request):
|
||||
for p in all_profiles:
|
||||
p["running"] = pm.is_running(p["id"])
|
||||
p["config"] = json.loads(p.get("config") or "{}")
|
||||
return TEMPLATES.TemplateResponse("index.html", {
|
||||
"request": request,
|
||||
return TEMPLATES.TemplateResponse(request, "index.html", {
|
||||
"profiles": all_profiles,
|
||||
"bot_types": pm.BOT_TYPES,
|
||||
})
|
||||
@@ -115,8 +114,7 @@ async def profile_page(request: Request, profile_id: int):
|
||||
contacts = bot.contacts if bot else []
|
||||
groups = bot.groups if bot else []
|
||||
log_lines = bot.log_lines[-50:] if bot else []
|
||||
return TEMPLATES.TemplateResponse("profile.html", {
|
||||
"request": request,
|
||||
return TEMPLATES.TemplateResponse(request, "profile.html", {
|
||||
"profile": profile,
|
||||
"contacts": contacts,
|
||||
"groups": groups,
|
||||
|
||||
Reference in New Issue
Block a user