refactor(ui): merge showcase settings into settings page tab, fix profile showcase GET route, fix layout
This commit is contained in:
@@ -77,8 +77,10 @@ def login_submit(
|
||||
def settings_page(
|
||||
request: Request,
|
||||
user: User = Depends(get_current_user_web),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return templates.TemplateResponse("settings.html", {"request": request, "user": user})
|
||||
profiles = db.query(Profile).filter(Profile.user_id == user.id).all()
|
||||
return templates.TemplateResponse("settings.html", {"request": request, "user": user, "profiles": profiles})
|
||||
|
||||
|
||||
@router.post("/settings/change-username")
|
||||
@@ -458,16 +460,9 @@ async def upload_image(
|
||||
|
||||
# ---------- Showcase ----------
|
||||
|
||||
@router.get("/showcase/manage", response_class=HTMLResponse)
|
||||
def showcase_manage(request: Request, user: User = Depends(get_current_user_web), db: Session = Depends(get_db)):
|
||||
profiles = db.query(Profile).filter(Profile.user_id == user.id).all()
|
||||
profile_cards = {}
|
||||
for p in profiles:
|
||||
cards = db.query(Postcard).filter(Postcard.profile_id == p.id).all()
|
||||
profile_cards[p.id] = cards
|
||||
return templates.TemplateResponse("showcase_manage.html", {
|
||||
"request": request, "user": user, "profiles": profiles, "profile_cards": profile_cards,
|
||||
})
|
||||
@router.get("/showcase/manage")
|
||||
def showcase_manage_redirect(user: User = Depends(get_current_user_web)):
|
||||
return _redirect("/settings?tab=showcase")
|
||||
|
||||
|
||||
@router.post("/showcase/manage")
|
||||
@@ -475,7 +470,23 @@ def showcase_manage_save(request: Request, showcase_mode: str = Form("profile"),
|
||||
if showcase_mode in ("profile", "flat"):
|
||||
user.showcase_mode = showcase_mode
|
||||
db.commit()
|
||||
return _redirect("/showcase/manage")
|
||||
return _redirect("/settings?tab=showcase")
|
||||
|
||||
|
||||
@router.get("/profiles/{profile_id}/showcase", response_class=HTMLResponse)
|
||||
def profile_showcase_page(
|
||||
request: Request,
|
||||
profile_id: int,
|
||||
user: User = Depends(get_current_user_web),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
p = db.query(Profile).filter(Profile.id == profile_id, Profile.user_id == user.id).first()
|
||||
if not p:
|
||||
return _redirect("/settings?tab=showcase")
|
||||
cards = db.query(Postcard).filter(Postcard.profile_id == profile_id).all()
|
||||
return templates.TemplateResponse("profile_showcase.html", {
|
||||
"request": request, "user": user, "profile": p, "cards": cards,
|
||||
})
|
||||
|
||||
|
||||
@router.post("/profiles/{profile_id}/showcase")
|
||||
@@ -492,7 +503,7 @@ def profile_showcase_save(
|
||||
if showcase_visible in ("sent", "received", "both"):
|
||||
p.showcase_visible = showcase_visible
|
||||
db.commit()
|
||||
return _redirect("/showcase/manage")
|
||||
return _redirect("/settings?tab=showcase")
|
||||
|
||||
|
||||
@router.post("/postcards/{postcard_id}/showcase-toggle")
|
||||
@@ -503,7 +514,7 @@ def postcard_showcase_toggle(postcard_id: int, showcase_hidden: str = Form(""),
|
||||
if profile and profile.showcase_enabled:
|
||||
pc.showcase_hidden = showcase_hidden == "1"
|
||||
db.commit()
|
||||
return _redirect("/showcase/manage")
|
||||
return _redirect("/settings?tab=showcase")
|
||||
|
||||
|
||||
@router.get("/u/{username}", response_class=HTMLResponse)
|
||||
|
||||
Reference in New Issue
Block a user