enhance: navigation optimization

This commit is contained in:
Julian Krauser 2025-05-16 13:34:24 +02:00
parent 04c01b6780
commit 12b1d08ea4
3 changed files with 13 additions and 4 deletions

View file

@ -12,7 +12,14 @@ export async function abilityAndNavUpdate(to: any, from: any, next: any) {
let section = to.meta.section;
let module = to.meta.module;
if ((admin && ability.isAdmin()) || ability.can(type, section, module)) {
if (to.name == "admin-default") {
navigation.activeNavigation = "club";
navigation.activeLink = null;
navigation.updateTopLevel();
navigation.updateNavigation();
NProgress.done();
next();
} else if ((admin && ability.isAdmin()) || ability.can(type, section, module)) {
NProgress.done();
navigation.activeNavigation = to.name.split("-")[1];
navigation.activeLink = to.name.split("-")[2];

View file

@ -15,7 +15,7 @@ const router = createRouter({
routes: [
{
path: "/",
redirect: { name: "admin" },
redirect: { name: "admin-default" },
},
{
path: "/login",
@ -76,12 +76,13 @@ const router = createRouter({
path: "/admin",
name: "admin",
component: () => import("@/views/admin/View.vue"),
beforeEnter: [isAuthenticated],
beforeEnter: [isAuthenticated, abilityAndNavUpdate],
children: [
{
path: "",
name: "admin-default",
component: () => import("@/views/admin/ViewSelect.vue"),
beforeEnter: [abilityAndNavUpdate],
},
{
path: "club",

View file

@ -147,7 +147,8 @@ export const useNavigationStore = defineStore("navigation", {
this.activeNavigationObject.main.findIndex((e) => e.key == this.activeLink) == -1 ||
this.activeLink == "default"
) {
let link = this.activeNavigationObject.main[0].key;
let link = this.activeNavigationObject.main.filter((m) => !m.key.startsWith("divider"))[0].key;
this.activeLink = link;
router.push({ name: `admin-${this.activeNavigation}-${link}` });
}
},