Skip to content
This repository was archived by the owner on May 13, 2024. It is now read-only.

Commit 78453bc

Browse files
committed
feat: close mobile menu after clicking on content
1 parent 43ccac2 commit 78453bc

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

components/MobileHeader.vue

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
class="mobile-home-link"
88
>{{ $site.title }}
99
</NavLink>
10-
<XIcon v-if="isOpen" @click="isOpen = !isOpen" />
11-
<MenuIcon v-else @click="isOpen = !isOpen" />
10+
<component :is="isOpen ? 'XIcon' : 'MenuIcon'" @click="$emit('toggle-sidebar')"/>
1211
</div>
1312
<div class="mobile-menu-wrapper" v-bind:class="{ open: isOpen }">
1413
<hr class="menu-divider"/>
@@ -29,23 +28,17 @@
2928
} from 'vue-feather-icons'
3029
3130
export default {
31+
props:{
32+
isOpen:{
33+
type: Boolean,
34+
required: true
35+
}
36+
},
3237
3338
components: {
3439
MenuIcon,
3540
XIcon
3641
},
37-
38-
data() {
39-
return {
40-
isOpen: false
41-
}
42-
},
43-
44-
mounted() {
45-
this.$router.afterEach(()=>{
46-
this.isOpen = false
47-
})
48-
}
4942
}
5043
</script>
5144

layouts/GlobalLayout.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<template>
22
<div id="vuperess-theme-blog__global-layout">
33
<Header/>
4-
<MobileHeader/>
5-
<div class="content-wrapper">
4+
<MobileHeader :isOpen="isMobileHeaderOpen" @toggle-sidebar="isMobileHeaderOpen = !isMobileHeaderOpen"/>
5+
<div class="content-wrapper" @click="isMobileHeaderOpen = false">
66
<DefaultGlobalLayout/>
77
</div>
88
<Footer/>
@@ -22,6 +22,18 @@
2222
MobileHeader,
2323
Footer
2424
},
25+
26+
data() {
27+
return {
28+
isMobileHeaderOpen: false
29+
}
30+
},
31+
32+
mounted() {
33+
this.$router.afterEach(()=>{
34+
this.isMobileHeaderOpen = false
35+
})
36+
}
2537
}
2638
</script>
2739

0 commit comments

Comments
 (0)