103 lines
2.6 KiB
Vue
103 lines
2.6 KiB
Vue
<template>
|
|
<div class="profile-sidebar" v-if="sidebar.open" v-click-outside="closeSidebar">
|
|
<a class="profile-sidebar__close-link" @click="closeSidebar">
|
|
<cross class="profile-sidebar__close-icon"></cross>
|
|
</a>
|
|
<profile-widget class="profile-sidebar__item"></profile-widget>
|
|
<div class="profile-sidebar__item" @click="closeSidebar">
|
|
<router-link to="/me/activity" class="profile-sidebar__link">Meine Aktivitäten</router-link>
|
|
</div>
|
|
<div class="profile-sidebar__item">
|
|
<h3 class="profile-sidebar__subtitle">Klasse</h3>
|
|
<class-selection-widget></class-selection-widget>
|
|
<div @click="closeSidebar">
|
|
<router-link :to="{name: 'my-class'}" class="profile-sidebar__link">Klassenliste anzeigen</router-link>
|
|
</div>
|
|
</div>
|
|
<div class="profile-sidebar__item" @click="closeSidebar">
|
|
<router-link :to="{name:'join-class'}" data-cy="join-class-link" class="profile-sidebar__link">Zugangscode
|
|
eingeben
|
|
</router-link>
|
|
</div>
|
|
<div class="profile-sidebar__item">
|
|
<logout-widget></logout-widget>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import ProfileWidget from '@/components/profile/ProfileWidget';
|
|
import Cross from '@/components/icons/Cross';
|
|
|
|
import ClassSelectionWidget from '@/components/school-class/ClassSelectionWidget';
|
|
|
|
import sidebarMixin from '@/mixins/sidebar';
|
|
import LogoutWidget from '@/components/LogoutWidget';
|
|
|
|
export default {
|
|
components: {
|
|
LogoutWidget,
|
|
ClassSelectionWidget,
|
|
ProfileWidget,
|
|
Cross
|
|
},
|
|
|
|
mixins: [sidebarMixin],
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
@import "@/styles/_variables.scss";
|
|
@import "@/styles/_mixins.scss";
|
|
|
|
.profile-sidebar {
|
|
padding: $large-spacing 0;
|
|
box-sizing: border-box;
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
height: 100vh;
|
|
background-color: $color-white;
|
|
z-index: 15;
|
|
box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.12);
|
|
overflow-y: scroll;
|
|
|
|
width: 100%;
|
|
@include desktop {
|
|
width: 333px;
|
|
}
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
&__item {
|
|
border-bottom: 1px solid $color-silver-light;
|
|
padding: $large-spacing $medium-spacing;
|
|
}
|
|
|
|
&__subtitle {
|
|
@include small-text;
|
|
margin: 0;
|
|
margin-bottom: $small-spacing;
|
|
}
|
|
|
|
&__link {
|
|
@include default-link;
|
|
display: block;
|
|
}
|
|
|
|
&__close-link {
|
|
position: absolute;
|
|
right: $small-spacing;
|
|
top: $small-spacing;
|
|
cursor: pointer;
|
|
}
|
|
|
|
&__close-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
}
|
|
</style>
|