diff --git a/app/main.py b/app/main.py index 28f8231..dfa81a9 100644 --- a/app/main.py +++ b/app/main.py @@ -358,6 +358,17 @@ def _parse_tags(raw: str) -> list[str]: return [t.strip() for t in raw.split(",") if t.strip()][:8] +def _edit_context(request: Request, db: Session, user: User, link: Link) -> dict: + existing = facets(db, user) + return { + "request": request, + "link": link, + "ai_enabled": config.AI_ENABLED, + "all_categories": [name for name, _ in existing["categories"]], + "all_manufacturers": [name for name, _ in existing["manufacturers"]], + } + + @app.get("/links/{link_id}/edit", response_class=HTMLResponse) def edit_link_form( link_id: int, @@ -371,8 +382,7 @@ def edit_link_form( if not link: return Response(status_code=404) return templates.TemplateResponse( - "_link_card_edit.html", - {"request": request, "link": link, "ai_enabled": config.AI_ENABLED}, + "_link_card_edit.html", _edit_context(request, db, user, link) ) @@ -469,6 +479,5 @@ def reanalyze_link( db.commit() db.refresh(link) return templates.TemplateResponse( - "_link_card_edit.html", - {"request": request, "link": link, "ai_enabled": config.AI_ENABLED}, + "_link_card_edit.html", _edit_context(request, db, user, link) ) diff --git a/app/templates/_link_card_edit.html b/app/templates/_link_card_edit.html index cfebac3..ab4502c 100644 --- a/app/templates/_link_card_edit.html +++ b/app/templates/_link_card_edit.html @@ -21,11 +21,21 @@