Merge pull request 'fix: sidebar drag-and-drop persistence + CSP warning' (#10) from dev into main
Deploy Dashboard / deploy (push) Successful in 1m2s
Deploy Dashboard / deploy (push) Successful in 1m2s
This commit was merged in pull request #10.
This commit is contained in:
@@ -378,13 +378,21 @@ async def get_preferences(current_user = Depends(auth.get_current_user)):
|
|||||||
|
|
||||||
@router.put("/preferences")
|
@router.put("/preferences")
|
||||||
async def save_preferences(request: Request, current_user = Depends(auth.get_current_user)):
|
async def save_preferences(request: Request, current_user = Depends(auth.get_current_user)):
|
||||||
|
import traceback
|
||||||
from rbac import save_sidebar_order
|
from rbac import save_sidebar_order
|
||||||
|
try:
|
||||||
body = await request.json()
|
body = await request.json()
|
||||||
order = body.get("sidebar_order")
|
order = body.get("sidebar_order")
|
||||||
if order is None or not isinstance(order, dict):
|
if order is None or not isinstance(order, dict):
|
||||||
raise HTTPException(status_code=400, detail="Missing sidebar_order dict")
|
raise HTTPException(status_code=400, detail="Missing sidebar_order dict")
|
||||||
save_sidebar_order(current_user.username, order)
|
save_sidebar_order(current_user.username, order)
|
||||||
return {"ok": True}
|
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}")
|
@router.delete("/rbac/overrides/{username}")
|
||||||
async def rbac_delete_override(username: str, current_user = Depends(auth.get_current_user)):
|
async def rbac_delete_override(username: str, current_user = Depends(auth.get_current_user)):
|
||||||
|
|||||||
@@ -6,9 +6,6 @@
|
|||||||
<meta name="description" content="Personal NAS Dashboard — manage Docker, Git repos, files, and media from one place">
|
<meta name="description" content="Personal NAS Dashboard — manage Docker, Git repos, files, and media from one place">
|
||||||
<title>NAS Dashboard</title>
|
<title>NAS Dashboard</title>
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@@ -43,7 +43,9 @@
|
|||||||
sidebarOrder = newOrder;
|
sidebarOrder = newOrder;
|
||||||
clearTimeout(orderSaveTimer);
|
clearTimeout(orderSaveTimer);
|
||||||
orderSaveTimer = setTimeout(() => {
|
orderSaveTimer = setTimeout(() => {
|
||||||
savePreferences({ sidebar_order: newOrder }).catch(() => {});
|
savePreferences({ sidebar_order: newOrder }).catch((e) => {
|
||||||
|
console.error("Failed to save sidebar order:", e);
|
||||||
|
});
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
@custom-variant dark (&:where(.dark, .dark *));
|
@custom-variant dark (&:where(.dark, .dark *));
|
||||||
|
|
||||||
@theme {
|
@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-50: #eef2ff;
|
||||||
--color-primary-100: #e0e7ff;
|
--color-primary-100: #e0e7ff;
|
||||||
|
|||||||
Reference in New Issue
Block a user