Phase 2: User experience enhancements to templates handling, dashboard and overlays.
This commit is contained in:
16
main.py
16
main.py
@@ -44,8 +44,8 @@ app.include_router(auth.router)
|
||||
app.add_middleware(SessionMiddleware, secret_key=settings.ENCRYPTION_KEY)
|
||||
|
||||
@app.get("/")
|
||||
async def read_root():
|
||||
return FileResponse(os.path.join(STATIC_DIR, "login.html"))
|
||||
async def read_root(request: Request):
|
||||
return templates.TemplateResponse("login.html", {"request": request})
|
||||
|
||||
@app.get("/dashboard")
|
||||
async def read_dashboard(request: Request, db: Session = Depends(auth.get_db)):
|
||||
@@ -72,15 +72,19 @@ async def logout(request: Request):
|
||||
return RedirectResponse(url="/")
|
||||
|
||||
@app.get("/overlay/{user_id}")
|
||||
async def read_overlay(request: Request, user_id: int, db: Session = Depends(auth.get_db)):
|
||||
async def read_overlay(request: Request, user_id: int, theme_override: str = None, db: Session = Depends(auth.get_db)):
|
||||
# This endpoint serves the overlay page.
|
||||
user = db.query(models.User).filter(models.User.id == user_id).first()
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="User not found")
|
||||
|
||||
theme = "dark-purple" # Default theme
|
||||
if user.settings and user.settings.overlay_theme:
|
||||
theme = user.settings.overlay_theme
|
||||
# The theme can be forced by a query parameter for previewing
|
||||
if theme_override:
|
||||
theme = theme_override
|
||||
else:
|
||||
theme = "dark-purple" # Default theme
|
||||
if user.settings and user.settings.overlay_theme:
|
||||
theme = user.settings.overlay_theme
|
||||
|
||||
return templates.TemplateResponse(f"overlay-{theme}.html", {"request": request})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user