Add sidebar transitions
This commit is contained in:
parent
5d4d660938
commit
c0f6ab543b
|
|
@ -1,18 +1,20 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<transition name="slide">
|
||||||
v-click-outside="close"
|
|
||||||
class="navigation-sidebar"
|
|
||||||
v-if="sidebar.navigation"
|
|
||||||
>
|
|
||||||
<content-navigation
|
|
||||||
:is-sidebar="true"
|
|
||||||
class="navigation-sidebar__main"/>
|
|
||||||
<div
|
<div
|
||||||
class="navigation-sidebar__close-button"
|
v-click-outside="close"
|
||||||
@click="close">
|
class="navigation-sidebar"
|
||||||
<cross class="navigation-sidebar__close-icon"/>
|
v-if="sidebar.navigation"
|
||||||
|
>
|
||||||
|
<content-navigation
|
||||||
|
:is-sidebar="true"
|
||||||
|
class="navigation-sidebar__main"/>
|
||||||
|
<div
|
||||||
|
class="navigation-sidebar__close-button"
|
||||||
|
@click="close">
|
||||||
|
<cross class="navigation-sidebar__close-icon"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -53,6 +55,8 @@
|
||||||
@import "@/styles/_variables.scss";
|
@import "@/styles/_variables.scss";
|
||||||
@import "@/styles/_mixins.scss";
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
|
$desktop-width: 285px;
|
||||||
|
|
||||||
.navigation-sidebar {
|
.navigation-sidebar {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
@ -81,7 +85,7 @@
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
@include desktop {
|
@include desktop {
|
||||||
width: 285px;
|
width: $desktop-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__main {
|
&__main {
|
||||||
|
|
@ -100,4 +104,17 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.slide {
|
||||||
|
&-enter-active, &-leave-active {
|
||||||
|
transition: left 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-enter, &-leave-to {
|
||||||
|
left: -100vw;
|
||||||
|
@include desktop {
|
||||||
|
left: -$desktop-width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,54 +1,56 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<transition name="slide">
|
||||||
v-click-outside="close"
|
<div
|
||||||
class="profile-sidebar"
|
v-click-outside="close"
|
||||||
v-if="sidebar.profile">
|
class="profile-sidebar"
|
||||||
<a
|
v-if="sidebar.profile">
|
||||||
class="profile-sidebar__close-link"
|
<a
|
||||||
@click="close">
|
class="profile-sidebar__close-link"
|
||||||
<cross class="profile-sidebar__close-icon"/>
|
|
||||||
</a>
|
|
||||||
<div class="profile-sidebar__section">
|
|
||||||
<profile-widget class="profile-sidebar__item"/>
|
|
||||||
<div
|
|
||||||
class="profile-sidebar__item"
|
|
||||||
@click="close">
|
@click="close">
|
||||||
<router-link
|
<cross class="profile-sidebar__close-icon"/>
|
||||||
to="/me/activity"
|
</a>
|
||||||
class="profile-sidebar__link">Meine Aktivitäten
|
<div class="profile-sidebar__section">
|
||||||
</router-link>
|
<profile-widget class="profile-sidebar__item"/>
|
||||||
</div>
|
<div
|
||||||
</div>
|
class="profile-sidebar__item"
|
||||||
<div class="profile-sidebar__section">
|
@click="close">
|
||||||
<div class="profile-sidebar__item">
|
|
||||||
<class-selection-widget/>
|
|
||||||
<div @click="close">
|
|
||||||
<router-link
|
<router-link
|
||||||
:to="{name: 'my-class'}"
|
to="/me/activity"
|
||||||
class="profile-sidebar__link">Klassenliste
|
class="profile-sidebar__link">Meine Aktivitäten
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="profile-sidebar__section">
|
||||||
<div class="profile-sidebar__section">
|
<div class="profile-sidebar__item">
|
||||||
<div
|
<class-selection-widget/>
|
||||||
class="profile-sidebar__item"
|
<div @click="close">
|
||||||
@click="close">
|
<router-link
|
||||||
<router-link
|
:to="{name: 'my-class'}"
|
||||||
:to="{name:'join-class'}"
|
class="profile-sidebar__link">Klassenliste
|
||||||
data-cy="join-class-link"
|
</router-link>
|
||||||
class="profile-sidebar__link">Zugangscode
|
</div>
|
||||||
</router-link>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="profile-sidebar__item">
|
|
||||||
<logout-widget/>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="profile-sidebar__section">
|
||||||
|
<div
|
||||||
|
class="profile-sidebar__item"
|
||||||
|
@click="close">
|
||||||
|
<router-link
|
||||||
|
:to="{name:'join-class'}"
|
||||||
|
data-cy="join-class-link"
|
||||||
|
class="profile-sidebar__link">Zugangscode
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
|
<div class="profile-sidebar__item">
|
||||||
|
<logout-widget/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p class="profile-sidebar__support">
|
<p class="profile-sidebar__support">
|
||||||
Supportanfragen: rahel.wenger@hep-verlag.ch
|
Supportanfragen: rahel.wenger@hep-verlag.ch
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -83,6 +85,8 @@
|
||||||
@import "@/styles/_variables.scss";
|
@import "@/styles/_variables.scss";
|
||||||
@import "@/styles/_mixins.scss";
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
|
$desktop-width: 333px;
|
||||||
|
|
||||||
.profile-sidebar {
|
.profile-sidebar {
|
||||||
padding: $large-spacing 0;
|
padding: $large-spacing 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
@ -98,7 +102,7 @@
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@include desktop {
|
@include desktop {
|
||||||
width: 333px;
|
width: $desktop-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -141,4 +145,17 @@
|
||||||
color: $color-silver-dark;
|
color: $color-silver-dark;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.slide {
|
||||||
|
&-enter-active, &-leave-active {
|
||||||
|
transition: right 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-enter, &-leave-to {
|
||||||
|
right: -100vw;
|
||||||
|
@include desktop {
|
||||||
|
right: -$desktop-width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue