|
|
@@ -5,71 +5,73 @@
|
|
|
show-if-above
|
|
|
no-swipe-close
|
|
|
no-swipe-open
|
|
|
- :width="250"
|
|
|
- :mini-width="64"
|
|
|
+ :width="214"
|
|
|
+ :mini-width="60"
|
|
|
:breakpoint="500"
|
|
|
:mini="miniState"
|
|
|
:behavior="'desktop'"
|
|
|
class="detached-container"
|
|
|
>
|
|
|
- <div class="column full-height q-pa-sm no-wrap">
|
|
|
- <div
|
|
|
- v-if="!$q.screen.lt.md"
|
|
|
- class="toggle-button-wrapper absolute"
|
|
|
- style="top: 50%; right: -32px; z-index: 1"
|
|
|
- >
|
|
|
- <q-btn
|
|
|
- flat
|
|
|
- round
|
|
|
- size="sm"
|
|
|
- padding="8px 8px"
|
|
|
- @click="miniState = !miniState"
|
|
|
+ <div class="column full-height no-wrap">
|
|
|
+ <div class="overflow-hidden" style="border-radius: 8px 8px 0px 0px">
|
|
|
+ <div
|
|
|
+ class="flex flex-center full-width q-pa-sm"
|
|
|
+ style="height: 60px"
|
|
|
>
|
|
|
- <q-icon
|
|
|
- :name="miniState ? 'mdi-chevron-right' : 'mdi-chevron-left'"
|
|
|
+ <q-img
|
|
|
+ v-if="!miniState"
|
|
|
+ :src="Logo"
|
|
|
+ style="width: 92px; height: 32px"
|
|
|
/>
|
|
|
- <q-tooltip
|
|
|
- anchor="center right"
|
|
|
- self="center left"
|
|
|
- :offset="[10, 10]"
|
|
|
- >{{
|
|
|
- miniState
|
|
|
- ? $t("ui.navigation.expand_menu")
|
|
|
- : $t("ui.navigation.collapse_menu")
|
|
|
- }}</q-tooltip
|
|
|
- >
|
|
|
- </q-btn>
|
|
|
+ <q-img v-else :src="Logo" style="width: 32px" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
- <q-list class="column no-wrap">
|
|
|
- <template v-for="item in navigationItems">
|
|
|
- <template v-if="item.permission">
|
|
|
- <q-item
|
|
|
- v-if="item.type === 'single'"
|
|
|
- :key="item.name"
|
|
|
- v-ripple
|
|
|
- clickable
|
|
|
- exact-active-class="menu-selected"
|
|
|
- exact
|
|
|
- active-class="menu-selected"
|
|
|
- :to="{ name: item.name }"
|
|
|
- class="q-my-xs"
|
|
|
+ <div class="column full-height no-wrap">
|
|
|
+ <div
|
|
|
+ v-if="!$q.screen.lt.md"
|
|
|
+ class="toggle-button-wrapper absolute"
|
|
|
+ style="top: 2px; right: -32px; z-index: 1"
|
|
|
+ >
|
|
|
+ <div @click="miniState = !miniState">
|
|
|
+ <q-icon
|
|
|
+ size="sm"
|
|
|
+ :name="
|
|
|
+ miniState
|
|
|
+ ? 'mdi-page-layout-sidebar-right'
|
|
|
+ : 'mdi-page-layout-sidebar-left'
|
|
|
+ "
|
|
|
+ color="primary"
|
|
|
+ />
|
|
|
+ <q-tooltip
|
|
|
+ anchor="center right"
|
|
|
+ self="center left"
|
|
|
+ :offset="[10, 10]"
|
|
|
+ >{{
|
|
|
+ miniState
|
|
|
+ ? $t("ui.navigation.expand_menu")
|
|
|
+ : $t("ui.navigation.collapse_menu")
|
|
|
+ }}</q-tooltip
|
|
|
>
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon :name="item.icon" style="font-size: 18px" />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
- <q-tooltip
|
|
|
- v-if="miniState"
|
|
|
- anchor="center right"
|
|
|
- self="center left"
|
|
|
- :offset="[10, 10]"
|
|
|
- >{{ $t(item.title) }}</q-tooltip
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <q-list class="column no-wrap">
|
|
|
+ <template v-for="(item, index) in navigation_store.navigationItems">
|
|
|
+ <template v-if="item.permission">
|
|
|
+ <q-item
|
|
|
+ v-if="item.type === 'single'"
|
|
|
+ :key="item.name"
|
|
|
+ v-ripple
|
|
|
+ clickable
|
|
|
+ :exact="item.name == 'HomePage'"
|
|
|
+ exact-active-class="menu-selected"
|
|
|
+ active-class="menu-selected"
|
|
|
+ :to="{ name: item.name }"
|
|
|
>
|
|
|
- </q-item>
|
|
|
- <!-- Expansive Menu with children -->
|
|
|
- <div v-else :key="item.title">
|
|
|
- <template v-if="!miniState">
|
|
|
+ <q-item-section avatar>
|
|
|
+ <q-icon :name="item.icon" style="font-size: 20px" />
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
<q-tooltip
|
|
|
v-if="miniState"
|
|
|
anchor="center right"
|
|
|
@@ -77,58 +79,10 @@
|
|
|
:offset="[10, 10]"
|
|
|
>{{ $t(item.title) }}</q-tooltip
|
|
|
>
|
|
|
- <q-expansion-item
|
|
|
- v-model="isExpasionItemExpanded"
|
|
|
- header-class="menu-item--spaced"
|
|
|
- :class="{
|
|
|
- 'menu-selected':
|
|
|
- childrenAreActive(item.children) &&
|
|
|
- !isExpasionItemExpanded,
|
|
|
- }"
|
|
|
- class="menu-item--spaced"
|
|
|
- >
|
|
|
- <template #header>
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon :name="item.icon" style="font-size: 18px" />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
- </template>
|
|
|
- <div v-for="child in item.childrens" :key="child.name">
|
|
|
- <q-item
|
|
|
- v-ripple
|
|
|
- clickable
|
|
|
- :to="{ name: child.name }"
|
|
|
- exact
|
|
|
- exact-active-class="menu-selected"
|
|
|
- class="menu-item--spaced q-pl-lg"
|
|
|
- >
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon :name="child.icon" style="font-size: 18px" />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ $t(child.title) }}</q-item-section>
|
|
|
- <q-tooltip
|
|
|
- v-if="miniState"
|
|
|
- anchor="center right"
|
|
|
- self="center left"
|
|
|
- :offset="[10, 10]"
|
|
|
- >{{ $t(child.title) }}</q-tooltip
|
|
|
- >
|
|
|
- </q-item>
|
|
|
- </div>
|
|
|
- </q-expansion-item>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <q-item
|
|
|
- v-ripple
|
|
|
- clickable
|
|
|
- exact
|
|
|
- exact-active-class="menu-selected"
|
|
|
- class="menu-item--spaced"
|
|
|
- >
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon :name="item.icon" style="font-size: 18px" />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
+ </q-item>
|
|
|
+ <!-- Expansive Menu with children -->
|
|
|
+ <div v-else :key="item.title">
|
|
|
+ <template v-if="!miniState">
|
|
|
<q-tooltip
|
|
|
v-if="miniState"
|
|
|
anchor="center right"
|
|
|
@@ -136,169 +90,237 @@
|
|
|
:offset="[10, 10]"
|
|
|
>{{ $t(item.title) }}</q-tooltip
|
|
|
>
|
|
|
- <q-menu anchor="center right" self="top start">
|
|
|
- <q-list>
|
|
|
+ <q-expansion-item
|
|
|
+ v-model="isExpasionItemExpanded[index]"
|
|
|
+ :class="{
|
|
|
+ 'menu-selected':
|
|
|
+ childrenAreActive(item.childrens) &&
|
|
|
+ !isExpasionItemExpanded[index],
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <template #header>
|
|
|
+ <q-item-section avatar>
|
|
|
+ <q-icon :name="item.icon" style="font-size: 20px" />
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
+ </template>
|
|
|
+ <div v-for="child in item.childrens" :key="child.name">
|
|
|
<q-item
|
|
|
- v-for="child in item.childrens"
|
|
|
- :key="child.name"
|
|
|
v-ripple
|
|
|
- v-close-popup
|
|
|
clickable
|
|
|
:to="{ name: child.name }"
|
|
|
exact
|
|
|
exact-active-class="menu-selected"
|
|
|
+ class="q-pl-lg"
|
|
|
>
|
|
|
<q-item-section avatar>
|
|
|
- <q-icon :name="child.icon" style="font-size: 18px" />
|
|
|
+ <q-icon :name="child.icon" style="font-size: 20px" />
|
|
|
</q-item-section>
|
|
|
<q-item-section>{{ $t(child.title) }}</q-item-section>
|
|
|
+ <q-tooltip
|
|
|
+ v-if="miniState"
|
|
|
+ anchor="center right"
|
|
|
+ self="center left"
|
|
|
+ :offset="[10, 10]"
|
|
|
+ >{{ $t(child.title) }}</q-tooltip
|
|
|
+ >
|
|
|
</q-item>
|
|
|
- </q-list>
|
|
|
- </q-menu>
|
|
|
- </q-item>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </q-expansion-item>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <q-item
|
|
|
+ v-ripple
|
|
|
+ clickable
|
|
|
+ exact
|
|
|
+ exact-active-class="menu-selected"
|
|
|
+ :class="{
|
|
|
+ 'menu-selected': childrenAreActive(item.childrens),
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <q-item-section avatar>
|
|
|
+ <q-icon :name="item.icon" style="font-size: 20px" />
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{ $t(item.title) }}</q-item-section>
|
|
|
+ <q-tooltip
|
|
|
+ v-if="miniState"
|
|
|
+ anchor="center right"
|
|
|
+ self="center left"
|
|
|
+ :offset="[10, 10]"
|
|
|
+ >{{ $t(item.title) }}</q-tooltip
|
|
|
+ >
|
|
|
+ <q-menu
|
|
|
+ class="menu-drawer"
|
|
|
+ anchor="center right"
|
|
|
+ self="top start"
|
|
|
+ >
|
|
|
+ <q-list>
|
|
|
+ <q-item
|
|
|
+ v-for="child in item.childrens"
|
|
|
+ :key="child.name"
|
|
|
+ v-ripple
|
|
|
+ v-close-popup
|
|
|
+ clickable
|
|
|
+ :to="{ name: child.name }"
|
|
|
+ exact
|
|
|
+ exact-active-class="menu-selected"
|
|
|
+ class="menu-drawer"
|
|
|
+ >
|
|
|
+ <q-item-section avatar>
|
|
|
+ <q-icon
|
|
|
+ :name="child.icon"
|
|
|
+ style="font-size: 20px"
|
|
|
+ />
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{ $t(child.title) }}</q-item-section>
|
|
|
+ </q-item>
|
|
|
+ </q-list>
|
|
|
+ </q-menu>
|
|
|
+ </q-item>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
- </template>
|
|
|
- </q-list>
|
|
|
- <q-list class="column q-mb-md no-wrap" style="border-radius: 6px">
|
|
|
- </q-list>
|
|
|
- <q-list class="q-mt-auto">
|
|
|
- <q-item v-ripple clickable>
|
|
|
- <div class="flex">
|
|
|
- <q-item-section avatar>
|
|
|
- <template #default>
|
|
|
- <!-- <img
|
|
|
- :src="someAvatar()"
|
|
|
- alt="avatar"
|
|
|
- style="width: 20px; height: 20px; border-radius: 50%"
|
|
|
- /> -->
|
|
|
+ </q-list>
|
|
|
+ <q-list class="column q-mb-md no-wrap" style="border-radius: 6px">
|
|
|
+ </q-list>
|
|
|
+ <q-list class="q-mt-auto">
|
|
|
+ <q-item v-ripple clickable @click="changeTheme">
|
|
|
+ <div class="flex">
|
|
|
+ <q-item-section avatar>
|
|
|
<q-icon
|
|
|
- name="mdi-account"
|
|
|
- color="primary"
|
|
|
+ :name="
|
|
|
+ $q.dark.isActive ? 'mdi-weather-sunny' : 'mdi-weather-night'
|
|
|
+ "
|
|
|
style="font-size: 20px"
|
|
|
/>
|
|
|
- </template>
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ user_store.user.name }}</q-item-section>
|
|
|
- </div>
|
|
|
- <q-tooltip
|
|
|
- v-if="miniState"
|
|
|
- anchor="center right"
|
|
|
- self="center left"
|
|
|
- :offset="[10, 10]"
|
|
|
- >{{ user_store.user.name }}</q-tooltip
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{
|
|
|
+ $q.dark.isActive
|
|
|
+ ? $t("common.terms.light")
|
|
|
+ : $t("common.terms.dark")
|
|
|
+ }}</q-item-section>
|
|
|
+ </div>
|
|
|
+ <q-tooltip
|
|
|
+ v-if="miniState"
|
|
|
+ anchor="center right"
|
|
|
+ self="center left"
|
|
|
+ :offset="[10, 10]"
|
|
|
+ >{{
|
|
|
+ $q.dark.isActive
|
|
|
+ ? $t("common.terms.light")
|
|
|
+ : $t("common.terms.dark")
|
|
|
+ }}</q-tooltip
|
|
|
+ >
|
|
|
+ </q-item>
|
|
|
+ <q-item v-ripple clickable @click="logoutFn">
|
|
|
+ <div class="flex">
|
|
|
+ <q-item-section avatar>
|
|
|
+ <q-icon
|
|
|
+ name="logout"
|
|
|
+ color="negative"
|
|
|
+ style="font-size: 20px"
|
|
|
+ />
|
|
|
+ </q-item-section>
|
|
|
+ <q-item-section>{{ $t("auth.logout") }}</q-item-section>
|
|
|
+ </div>
|
|
|
+ <q-tooltip
|
|
|
+ v-if="miniState"
|
|
|
+ anchor="center right"
|
|
|
+ self="center left"
|
|
|
+ :offset="[10, 10]"
|
|
|
+ >{{ $t("auth.logout") }}</q-tooltip
|
|
|
+ >
|
|
|
+ </q-item>
|
|
|
+ <q-item v-ripple clickable @click="openUrl('https://softpar.inf.br')">
|
|
|
+ <div class="flex full-width justify-center">
|
|
|
+ <q-img
|
|
|
+ :src="
|
|
|
+ miniState || $q.screen.lt.md
|
|
|
+ ? LogoSoftparMini
|
|
|
+ : $q.dark.isActive
|
|
|
+ ? LogoSoftparLight
|
|
|
+ : LogoSoftparDark
|
|
|
+ "
|
|
|
+ style="width: 100%; height: 30px"
|
|
|
+ :style="
|
|
|
+ miniState || $q.screen.lt.md
|
|
|
+ ? 'max-width: 48px'
|
|
|
+ : 'max-width: 100px'
|
|
|
+ "
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </q-item>
|
|
|
+ </q-list>
|
|
|
+ <div
|
|
|
+ class="full-width text-center text-subtitle3 q-pb-xs cursor-pointer"
|
|
|
+ @click="gotoVersionPage()"
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="!(miniState || $q.screen.lt.md)"
|
|
|
+ class="text-caption text-weight-light"
|
|
|
+ >{{ $t("common.terms.version") + " " + version }}</span
|
|
|
>
|
|
|
- <q-menu anchor="center right" self="top start">
|
|
|
- <q-list class="column no-wrap overflow-hidden">
|
|
|
- <q-item
|
|
|
- v-ripple
|
|
|
- v-close-popup
|
|
|
- clickable
|
|
|
- :to="{ name: 'ProfilePage' }"
|
|
|
- exact
|
|
|
- exact-active-class="menu-selected"
|
|
|
- >
|
|
|
- <div class="flex">
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon
|
|
|
- name="account_circle"
|
|
|
- color="primary"
|
|
|
- style="font-size: 18px"
|
|
|
- />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{
|
|
|
- $t("user.profile.singular")
|
|
|
- }}</q-item-section>
|
|
|
- </div>
|
|
|
- </q-item>
|
|
|
- <q-item v-ripple clickable @click="logoutFn">
|
|
|
- <div class="flex">
|
|
|
- <q-item-section avatar>
|
|
|
- <q-icon
|
|
|
- name="logout"
|
|
|
- color="negative"
|
|
|
- style="font-size: 18px"
|
|
|
- />
|
|
|
- </q-item-section>
|
|
|
- <q-item-section>{{ $t("auth.logout") }}</q-item-section>
|
|
|
- </div>
|
|
|
- </q-item>
|
|
|
- </q-list>
|
|
|
- </q-menu>
|
|
|
- </q-item>
|
|
|
- <q-item v-ripple clickable @click="openUrl('https://softpar.inf.br')">
|
|
|
- <div class="flex full-width justify-center">
|
|
|
- <q-img
|
|
|
- :src="
|
|
|
- miniState || $q.screen.lt.md
|
|
|
- ? LogoSoftparMini
|
|
|
- : $q.dark.isActive
|
|
|
- ? LogoSoftparLight
|
|
|
- : LogoSoftparDark
|
|
|
- "
|
|
|
- style="width: 100%; height: 30px; max-width: 114px"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </q-item>
|
|
|
- </q-list>
|
|
|
- <div class="full-width text-center text-subtitle3">
|
|
|
- <span class="text-caption text-weight-light">{{ version }}</span>
|
|
|
+ <span v-else class="text-caption text-weight-light">{{
|
|
|
+ version
|
|
|
+ }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</q-drawer>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import { ref, watch, watchEffect } from "vue";
|
|
|
+import { ref, watch, watchEffect, onMounted } from "vue";
|
|
|
import { useAuth } from "src/composables/useAuth";
|
|
|
import { useRouter, useRoute } from "vue-router";
|
|
|
-import { userStore } from "src/stores/user";
|
|
|
import { navigationStore } from "src/stores/navigation";
|
|
|
+import { useQuasar, Cookies } from "quasar";
|
|
|
+import { version } from "src/../package.json";
|
|
|
+
|
|
|
+import Logo from "src/assets/logo.png";
|
|
|
import LogoSoftparLight from "src/assets/softpar_logo_light.svg";
|
|
|
import LogoSoftparDark from "src/assets/softpar_logo_dark.svg";
|
|
|
import LogoSoftparMini from "src/assets/softpar_logo_mini.svg";
|
|
|
-import { Cookies } from "quasar";
|
|
|
-import { useQuasar } from "quasar";
|
|
|
|
|
|
-const $q = useQuasar();
|
|
|
const { logout } = useAuth();
|
|
|
const router = useRouter();
|
|
|
const route = useRoute();
|
|
|
-const user_store = userStore();
|
|
|
-const { navigationItems } = navigationStore();
|
|
|
-
|
|
|
-const version = "0.0.1";
|
|
|
-
|
|
|
-const miniStateCookies = Cookies.get("miniState")
|
|
|
+const navigation_store = navigationStore();
|
|
|
+const $q = useQuasar();
|
|
|
|
|
|
+const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches
|
|
|
+ ? "dark"
|
|
|
+ : "light";
|
|
|
+const miniStateCookies = Cookies.get("miniState");
|
|
|
const miniState = ref(miniStateCookies === "true" ? true : false);
|
|
|
|
|
|
const childrenAreActive = (children) => {
|
|
|
- if (!children) return false;
|
|
|
- return children.some((child) => {
|
|
|
- return route.path.includes(child.path);
|
|
|
- });
|
|
|
+ if (!Array.isArray(children) || children.length === 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return children.some((child) => route?.name === child?.name);
|
|
|
};
|
|
|
|
|
|
-// const someAvatar = () => {
|
|
|
-// return "https://cdn.quasar.dev/img/avatar4.jpg";
|
|
|
-// };
|
|
|
-
|
|
|
-const isExpasionItemExpanded = ref(false);
|
|
|
+const isExpasionItemExpanded = ref([]);
|
|
|
|
|
|
watchEffect(() => {
|
|
|
if ($q.screen.lt.md) {
|
|
|
miniState.value = true;
|
|
|
- if (Array.isArray(isExpasionItemExpanded.value)) {
|
|
|
- isExpasionItemExpanded.value.forEach((expansion, index) => {
|
|
|
- isExpasionItemExpanded.value[index] = false;
|
|
|
- });
|
|
|
- } else {
|
|
|
- isExpasionItemExpanded.value = false;
|
|
|
- }
|
|
|
+ isExpasionItemExpanded.value.forEach((expansion, index) => {
|
|
|
+ isExpasionItemExpanded.value[index] = false;
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+const changeTheme = async () => {
|
|
|
+ const theme = $q.cookies.get("theme") || systemTheme;
|
|
|
+ if (theme == "dark") {
|
|
|
+ $q.dark.set(false);
|
|
|
+ } else {
|
|
|
+ $q.dark.set(true);
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
const logoutFn = async () => {
|
|
|
await logout();
|
|
|
router.push({ name: "LoginPage" });
|
|
|
@@ -308,13 +330,26 @@ const openUrl = (url) => {
|
|
|
window.open(url, "_blank");
|
|
|
};
|
|
|
|
|
|
+const gotoVersionPage = () => {
|
|
|
+ router.push({ name: "SystemVersionsPage" });
|
|
|
+};
|
|
|
+
|
|
|
watch(miniState, () => {
|
|
|
- Cookies.set("miniState", miniState.value);
|
|
|
+ Cookies.set("miniState", miniState.value, { path: "/", sameSite: "Lax" });
|
|
|
+});
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ navigation_store.navigationItems.forEach((item, index) => {
|
|
|
+ if (childrenAreActive(item.childrens)) {
|
|
|
+ isExpasionItemExpanded.value[index] = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@import "/src/css/quasar.variables.scss";
|
|
|
+
|
|
|
.text-subtitle3 {
|
|
|
font-size: 1.1rem !important;
|
|
|
font-weight: 400 !important;
|
|
|
@@ -332,9 +367,4 @@ watch(miniState, () => {
|
|
|
.toggle-button-wrapper:hover {
|
|
|
transform: scale(1.1);
|
|
|
}
|
|
|
-
|
|
|
-.menu-item--spaced {
|
|
|
- margin-top: 5px;
|
|
|
- margin-bottom: 5px;
|
|
|
-}
|
|
|
</style>
|