fix layout shift

pull/5092/head
Divyansh Singh 7 days ago
parent 73c4c90295
commit 4c2e7ece02

@ -1,6 +1,5 @@
<script lang="ts" setup>
import { useWindowScroll } from '@vueuse/core'
import { ref, watchPostEffect } from 'vue'
import { useLayout } from '../composables/layout'
import VPNavBarAppearance from './VPNavBarAppearance.vue'
import VPNavBarExtra from './VPNavBarExtra.vue'
@ -21,21 +20,18 @@ defineEmits<{
const { y } = useWindowScroll()
const { isHome, hasSidebar } = useLayout()
const classes = ref<Record<string, boolean>>({})
watchPostEffect(() => {
classes.value = {
'has-sidebar': hasSidebar.value,
'home': isHome.value,
'top': y.value === 0,
'screen-open': props.isScreenOpen
}
})
</script>
<template>
<div class="VPNavBar" :class="classes">
<div
class="VPNavBar"
:class="{
'has-sidebar': hasSidebar,
'home': isHome,
'top': y === 0,
'screen-open': isScreenOpen
}"
>
<div class="wrapper">
<div class="container">
<div class="title">
@ -55,7 +51,11 @@ watchPostEffect(() => {
<VPNavBarSocialLinks class="social-links" />
<VPNavBarExtra class="extra" />
<slot name="nav-bar-content-after" />
<VPNavBarHamburger class="hamburger" :active="isScreenOpen" @click="$emit('toggle-screen')" />
<VPNavBarHamburger
class="hamburger"
:active="isScreenOpen"
@click="$emit('toggle-screen')"
/>
</div>
</div>
</div>

Loading…
Cancel
Save