Skip to content

Commit 01781e5

Browse files
committed
Improve mobile navigation
1 parent 40b3d6d commit 01781e5

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/components/Navbar/navbar.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,21 @@ export default {
1515
}
1616
},
1717
methods: {
18-
toggleMenu() {
18+
toggleMenu () {
1919
this.isMenuVisible = !this.isMenuVisible
20+
},
21+
closeMenu () {
22+
this.isMenuVisible = false
23+
},
24+
handleOutsideClick (event) {
25+
// If the user isn't clicking the nav element, close the menu
26+
if (!this.$el.contains(event.target)) {
27+
this.closeMenu()
28+
}
2029
}
30+
},
31+
mounted () {
32+
// Add an event listener to listen for user clicks
33+
document.addEventListener('click', this.handleOutsideClick)
2134
}
2235
}

src/components/Navbar/navbar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</ul>
1111
<div :class="$style['menu-icon']" @click="toggleMenu">&#9776;</div>
1212
<div :class="[$style['waffle-menu'], { [$style.show]: isMenuVisible }]" id="waffleMenu">
13-
<router-link v-for="link in links" :key="link.text" :to="link.href">{{ link.text }}</router-link>
13+
<router-link v-for="link in links" :key="link.text" :to="link.href" @click="closeMenu">{{ link.text }}</router-link>
1414
</div>
1515
</nav>
1616
</template>

0 commit comments

Comments
 (0)