@@ -303,7 +318,10 @@
{#if showGeneral}
diff --git a/packages/shared-ui/src/settings/NavVisibilitySettings.svelte b/packages/shared-ui/src/settings/NavVisibilitySettings.svelte
new file mode 100644
index 000000000..a6930f4d8
--- /dev/null
+++ b/packages/shared-ui/src/settings/NavVisibilitySettings.svelte
@@ -0,0 +1,161 @@
+
+
+
+
+
+ Navigation anpassen
+
+
+ Versteckte Seiten bleiben über die URL erreichbar
+
+
+
+
+ {#each sortedApps as app (app.id)}
+
+
+
+
+
+ {#if expandedApps[app.id]}
+
+ {#each app.routes as route (route.path)}
+ {@const hidden = isRouteHidden(app.id, route.path)}
+
+ {/each}
+
+ {/if}
+
+ {/each}
+
+
diff --git a/packages/shared-ui/src/settings/index.ts b/packages/shared-ui/src/settings/index.ts
index f7daa394c..06db8bce2 100644
--- a/packages/shared-ui/src/settings/index.ts
+++ b/packages/shared-ui/src/settings/index.ts
@@ -10,3 +10,4 @@ export { default as SettingsTimeInput } from './SettingsTimeInput.svelte';
export { default as SettingsDangerZone } from './SettingsDangerZone.svelte';
export { default as SettingsDangerButton } from './SettingsDangerButton.svelte';
export { default as GlobalSettingsSection } from './GlobalSettingsSection.svelte';
+export { default as NavVisibilitySettings } from './NavVisibilitySettings.svelte';
diff --git a/services/mana-core-auth/src/settings/dto/index.ts b/services/mana-core-auth/src/settings/dto/index.ts
index bc8ee0e3d..2f315c1fe 100644
--- a/services/mana-core-auth/src/settings/dto/index.ts
+++ b/services/mana-core-auth/src/settings/dto/index.ts
@@ -18,6 +18,10 @@ export class NavSettingsDto {
@IsOptional()
@IsBoolean()
sidebarCollapsed?: boolean;
+
+ @IsOptional()
+ @IsObject()
+ hiddenNavItems?: Record
;
}
// Theme settings
@@ -70,6 +74,7 @@ export class UpdateAppOverrideDto {
export interface NavSettings {
desktopPosition: 'top' | 'bottom';
sidebarCollapsed: boolean;
+ hiddenNavItems?: Record;
}
export interface ThemeSettings {