diff --git a/dashboard/src/Index.vue b/dashboard/src/Index.vue index add08a222..d58760b74 100644 --- a/dashboard/src/Index.vue +++ b/dashboard/src/Index.vue @@ -123,9 +123,15 @@ function onSidebarClose() { } const activeSidebarItem = ref(''); -const activeSidebarGroup = ref(''); +const activeSidebarGroups = ref({ + 'backup': false, + 'email': false, + 'system': false, + 'user-directory': false, + 'users': false +}); function onToggleGroup(group) { - activeSidebarGroup.value = activeSidebarGroup.value === group ? '' : group; + activeSidebarGroups.value[group] = !activeSidebarGroups.value[group]; } function onHashChange() { @@ -133,12 +139,11 @@ function onHashChange() { activeSidebarItem.value = v; - if (activeSidebarItem.value.indexOf('backup') === 0) activeSidebarGroup.value = 'backup'; - else if (activeSidebarItem.value.indexOf('email') === 0) activeSidebarGroup.value = 'email'; - else if (activeSidebarItem.value.indexOf('system') === 0) activeSidebarGroup.value = 'system'; - else if (activeSidebarItem.value.indexOf('user-directory') === 0) activeSidebarGroup.value = 'user-directory'; - else if (activeSidebarItem.value.indexOf('users') === 0) activeSidebarGroup.value = 'users'; - else activeSidebarGroup.value = ''; + if (activeSidebarItem.value.indexOf('backup') === 0) activeSidebarGroups.value['backup'] = true; + else if (activeSidebarItem.value.indexOf('email') === 0) activeSidebarGroups.value['email'] = true; + else if (activeSidebarItem.value.indexOf('system') === 0) activeSidebarGroups.value['system'] = true; + else if (activeSidebarItem.value.indexOf('user-directory') === 0) activeSidebarGroups.value['user-directory'] = true; + else if (activeSidebarItem.value.indexOf('users') === 0) activeSidebarGroups.value['users'] = true; if (v === VIEWS.APPS) { view.value = VIEWS.APPS; @@ -283,9 +288,9 @@ onMounted(async () => {