more mobile support
This commit is contained in:
parent
95c7cdee2d
commit
283d649bea
|
@ -1,14 +1,14 @@
|
|||
<template>
|
||||
<div class="navbar">
|
||||
<h1>Keyemail</h1>
|
||||
<ul class="navContents">
|
||||
<ul class="navContents" v-if="!(isMobile() || smallScreen)">
|
||||
<li><router-link to="/">Home</router-link></li>
|
||||
<li><router-link to="/gallery">Gallery</router-link></li>
|
||||
<li><router-link to="/socials">Socials</router-link></li>
|
||||
</ul>
|
||||
<div class="mobileNavButton">
|
||||
<i class="fa-solid fa-x" @click="mobileUI()" v-if="turnOnMobileUI"></i>
|
||||
<i class="fas fa-bars" @click="mobileUI()" v-else></i>
|
||||
<div class="mobileNavButton" v-else>
|
||||
<i class="fa-solid fa-x" @click="mobileUI(); handleResize();" v-if="turnOnMobileUI"></i>
|
||||
<i class="fas fa-bars" @click="mobileUI();" v-else></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mobileNav" v-if="turnOnMobileUI">
|
||||
|
@ -26,9 +26,14 @@
|
|||
export default {
|
||||
data(){
|
||||
return {
|
||||
turnOnMobileUI: false
|
||||
turnOnMobileUI: false,
|
||||
smallScreen: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener('resize', this.handleResize);
|
||||
this.handleResize();
|
||||
},
|
||||
methods: {
|
||||
mobileUI() {
|
||||
if(this.turnOnMobileUI == false) {
|
||||
|
@ -40,6 +45,18 @@ export default {
|
|||
this.turnOnMobileUI = false;
|
||||
document.body.style.overflow = 'auto';
|
||||
}
|
||||
},
|
||||
isMobile(){
|
||||
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
|
||||
},
|
||||
handleResize() {
|
||||
if(window.innerWidth < 450) {
|
||||
this.smallScreen = true;
|
||||
} else if(this.turnOnMobileUI === true) {
|
||||
return;
|
||||
} else {
|
||||
this.smallScreen = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -85,7 +102,6 @@ export default {
|
|||
}
|
||||
|
||||
.mobileNavButton {
|
||||
display: none;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
|
@ -144,13 +160,4 @@ export default {
|
|||
.mobileNavContents a:hover {
|
||||
color: #74d2f1;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 415px) {
|
||||
.navContents {
|
||||
display: none;
|
||||
}
|
||||
.mobileNavButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in a new issue