system menu improvements

This commit is contained in:
root
2025-12-28 05:08:58 -05:00
parent 9f19ec1302
commit 7449ebca75
2 changed files with 41 additions and 10 deletions

View File

@@ -12,17 +12,44 @@ const integrationStore = useIntegrationStore();
// Get all entries based on current menu mode // Get all entries based on current menu mode
const menuEntries = computed(() => { const menuEntries = computed(() => {
const pointType = layoutStore.menuMode === 'settings' ? 'admin_settings_menu' : 'app_menu'; switch (layoutStore.menuMode) {
return integrationStore.getPoint(pointType); case 'user-settings':
return integrationStore.getPoint('user_settings_menu');
case 'admin-settings':
return integrationStore.getPoint('admin_settings_menu');
case 'apps':
default:
return integrationStore.getPoint('app_menu');
}
}); });
// Menu mode display info // Menu mode display info
const menuModeInfo = computed(() => ({ const menuModeInfo = computed(() => {
icon: layoutStore.menuMode === 'settings' ? 'mdi-cog' : 'mdi-view-dashboard', switch (layoutStore.menuMode) {
label: layoutStore.menuMode === 'settings' ? 'Settings' : 'Applications', case 'user-settings':
toggleLabel: layoutStore.menuMode === 'settings' ? 'Switch to Apps' : 'Switch to Settings', return {
toggleIcon: layoutStore.menuMode === 'settings' ? 'mdi-view-dashboard' : 'mdi-cog', icon: 'mdi-account-cog',
})); label: 'Personal Settings',
toggleLabel: 'Admin',
toggleIcon: 'mdi-shield-crown',
};
case 'admin-settings':
return {
icon: 'mdi-shield-crown',
label: 'Administration',
toggleLabel: 'Apps',
toggleIcon: 'mdi-view-dashboard',
};
case 'apps':
default:
return {
icon: 'mdi-view-dashboard',
label: 'Applications',
toggleLabel: 'Settings',
toggleIcon: 'mdi-account-cog',
};
}
});
</script> </script>
<script lang="ts"> <script lang="ts">

View File

@@ -3,7 +3,7 @@ import { defineStore } from 'pinia';
import config from '@KTXC/config'; import config from '@KTXC/config';
import { useUserStore } from './userStore'; import { useUserStore } from './userStore';
export type MenuMode = 'apps' | 'settings'; export type MenuMode = 'apps' | 'user-settings' | 'admin-settings';
export const useLayoutStore = defineStore('layout', () => { export const useLayoutStore = defineStore('layout', () => {
// Loading state // Loading state
@@ -58,7 +58,11 @@ export const useLayoutStore = defineStore('layout', () => {
} }
function toggleMenuMode() { function toggleMenuMode() {
menuMode.value = menuMode.value === 'apps' ? 'settings' : 'apps'; // Cycle through: apps -> user-settings -> admin-settings -> apps
const modes: MenuMode[] = ['apps', 'user-settings', 'admin-settings'];
const currentIndex = modes.indexOf(menuMode.value);
const nextIndex = (currentIndex + 1) % modes.length;
menuMode.value = modes[nextIndex];
} }
return { return {