feat: add role-based sidebar link visibility control
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 1m37s
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 1m37s
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
let loading = $state(true);
|
||||
let userRole = $state("");
|
||||
let allowedPages = $state([]);
|
||||
let allowedSidebarLinks = $state("*");
|
||||
let sidebarOrder = $state(null);
|
||||
let orderSaveTimer = null;
|
||||
|
||||
@@ -29,6 +30,7 @@
|
||||
setCurrentUser(data);
|
||||
userRole = data.role || "admin";
|
||||
allowedPages = data.pages || "*";
|
||||
allowedSidebarLinks = data.sidebar_links || "*";
|
||||
// Fetch sidebar preferences
|
||||
try {
|
||||
const prefs = await getPreferences();
|
||||
@@ -126,7 +128,7 @@
|
||||
<Login />
|
||||
{:else}
|
||||
<div class="flex h-screen overflow-hidden bg-surface-50 dark:bg-surface-900">
|
||||
<Sidebar bind:page {dark} {toggleTheme} {logout} bind:sidebarOpen {allowedPages} {userRole} {sidebarOrder} onOrderChange={handleOrderChange} />
|
||||
<Sidebar bind:page {dark} {toggleTheme} {logout} bind:sidebarOpen {allowedPages} {allowedSidebarLinks} {userRole} {sidebarOrder} onOrderChange={handleOrderChange} />
|
||||
<main class="flex-1 overflow-auto">
|
||||
<div class="max-w-[1400px] mx-auto p-6 lg:p-8">
|
||||
<!-- Mobile hamburger -->
|
||||
|
||||
Reference in New Issue
Block a user