Merge pull request 'fix: sidebar drag-and-drop persistence + CSP warning' (#10) from dev into main
Deploy Dashboard / deploy (push) Successful in 1m2s

This commit was merged in pull request #10.
This commit is contained in:
2026-03-01 17:52:08 +08:00
4 changed files with 18 additions and 11 deletions
+14 -6
View File
@@ -378,13 +378,21 @@ async def get_preferences(current_user = Depends(auth.get_current_user)):
@router.put("/preferences")
async def save_preferences(request: Request, current_user = Depends(auth.get_current_user)):
import traceback
from rbac import save_sidebar_order
body = await request.json()
order = body.get("sidebar_order")
if order is None or not isinstance(order, dict):
raise HTTPException(status_code=400, detail="Missing sidebar_order dict")
save_sidebar_order(current_user.username, order)
return {"ok": True}
try:
body = await request.json()
order = body.get("sidebar_order")
if order is None or not isinstance(order, dict):
raise HTTPException(status_code=400, detail="Missing sidebar_order dict")
save_sidebar_order(current_user.username, order)
return {"ok": True}
except HTTPException:
raise
except Exception as e:
print(f"Error saving preferences: {e}")
traceback.print_exc()
raise HTTPException(status_code=500, detail=str(e))
@router.delete("/rbac/overrides/{username}")
async def rbac_delete_override(username: str, current_user = Depends(auth.get_current_user)):
-3
View File
@@ -6,9 +6,6 @@
<meta name="description" content="Personal NAS Dashboard — manage Docker, Git repos, files, and media from one place">
<title>NAS Dashboard</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
</head>
<body>
<div id="app"></div>
+3 -1
View File
@@ -43,7 +43,9 @@
sidebarOrder = newOrder;
clearTimeout(orderSaveTimer);
orderSaveTimer = setTimeout(() => {
savePreferences({ sidebar_order: newOrder }).catch(() => {});
savePreferences({ sidebar_order: newOrder }).catch((e) => {
console.error("Failed to save sidebar order:", e);
});
}, 500);
}
+1 -1
View File
@@ -3,7 +3,7 @@
@custom-variant dark (&:where(.dark, .dark *));
@theme {
--font-sans: "Inter", system-ui, -apple-system, sans-serif;
--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;
--color-primary-50: #eef2ff;
--color-primary-100: #e0e7ff;