|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <v-navigation-drawer v-model="displayMenu">
|
|
|
|
|
|
|
+ <v-navigation-drawer v-if="displayMenu" v-model="isOpened" mobile-breakpoint="sm">
|
|
|
<template v-slot:prepend>
|
|
<template v-slot:prepend>
|
|
|
<div class="title">
|
|
<div class="title">
|
|
|
<h3>{{ $t('parameters') }}</h3>
|
|
<h3>{{ $t('parameters') }}</h3>
|
|
@@ -35,8 +35,12 @@
|
|
|
import {useLayoutStore} from "~/stores/layout";
|
|
import {useLayoutStore} from "~/stores/layout";
|
|
|
import UrlUtils from "~/services/utils/urlUtils";
|
|
import UrlUtils from "~/services/utils/urlUtils";
|
|
|
import {useHomeUrl} from "~/composables/utils/useHomeUrl";
|
|
import {useHomeUrl} from "~/composables/utils/useHomeUrl";
|
|
|
|
|
+ import {useDisplay} from "vuetify";
|
|
|
|
|
+ import {computed} from "@vue/reactivity";
|
|
|
|
|
|
|
|
- const { getMenu, hasMenu } = useMenu()
|
|
|
|
|
|
|
+ const { mdAndUp, lgAndUp } = useDisplay()
|
|
|
|
|
+
|
|
|
|
|
+ const { getMenu, hasMenu, isMenuOpened, setMenuState } = useMenu()
|
|
|
|
|
|
|
|
const menu = getMenu('Parameters')
|
|
const menu = getMenu('Parameters')
|
|
|
|
|
|
|
@@ -44,7 +48,20 @@
|
|
|
return menu !== null && hasMenu('Parameters')
|
|
return menu !== null && hasMenu('Parameters')
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ const isOpened = computed(() => isMenuOpened('Parameters'))
|
|
|
|
|
+
|
|
|
|
|
+ const unwatch = watch(mdAndUp, (newValue, oldValue) => {
|
|
|
|
|
+ // Par défaut si l'écran est trop petit au chargement de la page, le menu doit rester fermé.
|
|
|
|
|
+ if (process.client && menu !== null) {
|
|
|
|
|
+ setMenuState('Parameters', mdAndUp.value)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
const { homeUrl } = useHomeUrl()
|
|
const { homeUrl } = useHomeUrl()
|
|
|
|
|
+
|
|
|
|
|
+ onUnmounted(() => {
|
|
|
|
|
+ unwatch()
|
|
|
|
|
+ })
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
@@ -105,7 +122,7 @@
|
|
|
border-top: solid 1px rgb(var(--v-theme-on-neutral-very-soft));
|
|
border-top: solid 1px rgb(var(--v-theme-on-neutral-very-soft));
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
flex-direction: row;
|
|
|
- justify-content: start;
|
|
|
|
|
|
|
+ justify-content: flex-start;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
:deep(.cancel-btn .v-btn__prepend) {
|
|
:deep(.cancel-btn .v-btn__prepend) {
|