talos/docs/website/components/Header.vue
Andrew Rynhard 7b801aa1bf docs: add community dropdown
This adds a dropdown menu to the header that makes it easy to find our
community links.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-10-19 19:01:20 -07:00

52 lines
1.3 KiB
Vue

<template>
<header id="header" class="flex">
<div
class="flex flex-wrap items-center justify-start max-w-6xl mx-auto py-6"
>
<Logo></Logo>
</div>
<div class="flex flex-wrap items-center justify-end max-w-6xl mx-auto py-6">
<DocumentationDropdown></DocumentationDropdown>
<CommunityDropdown></CommunityDropdown>
</div>
</header>
</template>
<script>
import Logo from '~/components/Logo.vue'
import DocumentationDropdown from '~/components/DocumentationDropdown.vue'
import CommunityDropdown from '~/components/CommunityDropdown.vue'
export default {
name: 'Header',
components: {
Logo,
DocumentationDropdown,
CommunityDropdown
},
mounted() {
window.addEventListener('scroll', this.handleScroll)
},
destroyed() {
window.removeEventListener('scroll', this.handleScroll)
},
methods: {
handleScroll() {
const distanceY = window.pageYOffset || document.documentElement.scrollTop
const shrinkOn = 240
const shrinkOff = 140
const headerEl = document.getElementById('header')
if (distanceY > shrinkOn) {
headerEl.classList.add('scrolled')
} else if (distanceY < shrinkOff) {
headerEl.classList.remove('scrolled')
}
}
}
}
</script>