Skip to content

Commit 8626529

Browse files
committed
[#149] add active classes to sidebar menu on inner pages
1 parent 5abad6f commit 8626529

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

src/widgets/ui/layout-sidebar/layout-sidebar.vue

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts" setup>
22
import { storeToRefs } from "pinia";
33
import { computed, ref } from "vue";
4-
import { useNuxtApp, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
4+
import { useNuxtApp, useRoute, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
55
import { useConnectionStore } from "~/src/shared/stores/connections";
66
import { useProfileStore } from "~/src/shared/stores/profile";
77
import type { Profile } from "~/src/shared/types";
@@ -55,6 +55,8 @@ const logout = () => {
5555
const router = useRouter();
5656
router.push("/login");
5757
};
58+
59+
const { path } = useRoute();
5860
</script>
5961

6062
<template>
@@ -72,22 +74,38 @@ const logout = () => {
7274
<IconSvg class="layout-sidebar__link-icon" name="events" />
7375
</NuxtLink>
7476

75-
<NuxtLink to="/sentry" title="Sentry logs" class="layout-sidebar__link">
77+
<NuxtLink
78+
to="/sentry"
79+
title="Sentry logs"
80+
class="layout-sidebar__link"
81+
:class="{ 'router-link-active': path.includes('/sentry') }"
82+
>
7683
<IconSvg class="layout-sidebar__link-icon" name="sentry" />
7784
</NuxtLink>
7885

79-
<NuxtLink to="/profiler" title="Profiler" class="layout-sidebar__link">
86+
<NuxtLink
87+
to="/profiler"
88+
title="Profiler"
89+
class="layout-sidebar__link"
90+
:class="{ 'router-link-active': path.includes('/profiler') }"
91+
>
8092
<IconSvg class="layout-sidebar__link-icon" name="profiler" />
8193
</NuxtLink>
8294

83-
<NuxtLink to="/smtp" title="SMTP mails" class="layout-sidebar__link">
95+
<NuxtLink
96+
to="/smtp"
97+
title="SMTP mails"
98+
class="layout-sidebar__link"
99+
:class="{ 'router-link-active': path.includes('/smtp') }"
100+
>
84101
<IconSvg class="layout-sidebar__link-icon" name="smtp" />
85102
</NuxtLink>
86103

87104
<NuxtLink
88105
to="/http-dumps"
89106
title="Http dumps"
90107
class="layout-sidebar__link"
108+
:class="{ 'router-link-active': path.includes('/http-dumps') }"
91109
>
92110
<IconSvg class="layout-sidebar__link-icon" name="http-dumps" />
93111
</NuxtLink>
@@ -96,6 +114,7 @@ const logout = () => {
96114
to="/inspector"
97115
title="Inspector logs"
98116
class="layout-sidebar__link"
117+
:class="{ 'router-link-active': path.includes('/inspector') }"
99118
>
100119
<IconSvg class="layout-sidebar__link-icon" name="inspector" />
101120
</NuxtLink>

0 commit comments

Comments
 (0)