2019-01-02 21:11:40 +00:00
|
|
|
<template>
|
|
|
|
<div class="page-container">
|
2019-01-03 14:06:28 +00:00
|
|
|
<div class="page">
|
2019-01-16 21:09:55 +00:00
|
|
|
<div class="page-overlay"
|
|
|
|
:class="{ 'is-active': isMenuOpen }"
|
|
|
|
@click="closeMenu"
|
|
|
|
>
|
|
|
|
</div>
|
2019-01-03 14:06:28 +00:00
|
|
|
<nuxt />
|
|
|
|
</div>
|
2019-01-03 14:49:25 +00:00
|
|
|
<SiteMenu class="menu"
|
|
|
|
:is-open="isMenuOpen"
|
|
|
|
@toggleMenu="toggleMenu"
|
2019-01-16 22:55:56 +00:00
|
|
|
@closeMenu="closeMenu"
|
2019-01-02 22:14:56 +00:00
|
|
|
/>
|
2019-01-02 21:11:40 +00:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import SiteMenu from '~/components/SiteMenu'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
SiteMenu
|
|
|
|
},
|
2019-01-02 22:14:56 +00:00
|
|
|
|
2019-01-02 21:11:40 +00:00
|
|
|
data() {
|
|
|
|
return {
|
2019-01-16 22:55:56 +00:00
|
|
|
isMenuOpen: false,
|
2019-01-02 22:14:56 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
toggleMenu () {
|
|
|
|
this.isMenuOpen = !this.isMenuOpen
|
2019-01-16 21:09:55 +00:00
|
|
|
},
|
|
|
|
closeMenu () {
|
|
|
|
this.isMenuOpen = false
|
|
|
|
},
|
2019-01-02 21:11:40 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
.page-container {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
overflow: hidden;
|
|
|
|
|
2019-01-12 18:29:09 +00:00
|
|
|
background-color: #333;
|
2019-01-02 21:11:40 +00:00
|
|
|
}
|
2019-01-03 14:06:28 +00:00
|
|
|
|
|
|
|
.page {
|
2019-01-04 10:55:55 +00:00
|
|
|
z-index: $z-index__page;
|
2019-01-03 14:06:28 +00:00
|
|
|
position: relative;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
2019-01-03 14:49:25 +00:00
|
|
|
|
2019-01-16 21:09:55 +00:00
|
|
|
.page-overlay {
|
|
|
|
$color: $color__primary-100;
|
|
|
|
z-index: $z-index__page-overlay;
|
|
|
|
position: absolute;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
|
|
|
|
background-color: rgba($color, .6);
|
|
|
|
background: linear-gradient(
|
|
|
|
to right,
|
|
|
|
rgba($color, 1),
|
|
|
|
rgba($color, 1) $site-menu__width + 3rem,
|
|
|
|
rgba($color, .8),
|
|
|
|
rgba($color, 1)
|
|
|
|
);
|
|
|
|
box-shadow: 0 0 70px 40px $color inset;
|
|
|
|
|
|
|
|
transition: opacity .5s .2s;
|
|
|
|
opacity: 0;
|
|
|
|
pointer-events: none;
|
|
|
|
|
|
|
|
@media (min-width: $bp__layout) {
|
|
|
|
&.is-active {
|
|
|
|
opacity: 1;
|
|
|
|
pointer-events: auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-03 14:49:25 +00:00
|
|
|
.menu {
|
2019-01-04 10:55:55 +00:00
|
|
|
z-index: $z-index__menu;
|
2019-01-03 14:49:25 +00:00
|
|
|
}
|
2019-01-02 21:11:40 +00:00
|
|
|
</style>
|