Files
freeplanet/src/components/layout/drawer/drawer.vue

137 lines
4.1 KiB
Vue
Raw Normal View History

2018-10-12 16:42:54 +02:00
<template>
2018-10-13 19:14:58 +02:00
<div>
2018-10-26 22:25:35 +02:00
<div id="profile" v-if="getUsername">
2018-10-13 19:14:58 +02:00
<img :src="photo" style='height: 80px' class="inline-block">
<img src="../img/avatar-1.svg" id="avatar" class="inline-block">
<div id="user-name">
2018-10-26 22:25:35 +02:00
<span class="text-white"> {{ getUsername }} </span>
2018-10-13 19:14:58 +02:00
<hr>
2018-10-26 22:25:35 +02:00
<span class="text-white" v-if="getVerificato"> {{$t('reg.verificato')}} </span>
<span class="text-white" v-else> {{$t('reg.non_verificato')}} </span>
<span class="text-white"> {{ getEmail }} </span>
2018-10-13 19:14:58 +02:00
</div>
<div id="user-actions">
2018-10-26 22:25:35 +02:00
<q-btn round color="primary" icon="person"></q-btn>
<q-btn round color="warning" icon="lock"></q-btn>
<q-btn round color="secondary" icon="exit_to_app" @click='logoutHandler'></q-btn>
2018-10-13 19:14:58 +02:00
</div>
</div>
<menu-one v-if="getMenuCollapse" :links="links"></menu-one>
<menu-two v-else :links="links"></menu-two>
<div class="fixed-bottom text-center light text-italic">
2018-10-26 22:25:35 +02:00
Powered by Perseo
2018-10-13 19:14:58 +02:00
</div>
2018-10-12 16:42:54 +02:00
</div>
</template>
<script type="text/javascript">
import menuOne from './menuOne.vue'
import menuTwo from './menuTwo.vue'
2018-10-26 22:25:35 +02:00
import * as types from '../../../store/mutation-types'
import {mapGetters, mapActions} from 'vuex'
2018-10-12 16:42:54 +02:00
export default {
2018-10-13 19:14:58 +02:00
data() {
2018-10-12 16:42:54 +02:00
return {
photo: '',
2018-10-26 22:25:35 +02:00
user: null,
2018-10-12 16:42:54 +02:00
links: {
Dashboard: {
routes: [
2018-10-13 19:14:58 +02:00
{route: '/', faIcon: 'fa fa-home', materialIcon: 'home', name: 'Dashboard One'},
{route: '/signup', faIcon: 'fa fa-signup', materialIcon: 'login', name: 'SignUp'},
{route: '/signin', faIcon: 'fa fa-login', materialIcon: 'login', name: 'Login'},
2018-10-12 16:42:54 +02:00
],
show: true
},
Forms: {
routes: [
2018-10-13 19:14:58 +02:00
{route: '/prec', faIcon: 'fa fa-search', materialIcon: 'search', name: 'Prec'},
2018-10-12 16:42:54 +02:00
{ route: '/embeeded', faIcon: 'fa fa-check', materialIcon: 'check', name: 'Embeeded validations' },
2018-10-13 19:14:58 +02:00
//{ route: '/advanced-form-one', faIcon: 'fa fa-hdd-o', materialIcon: 'filter_1', name: 'Adv. Form One' }
2018-10-12 16:42:54 +02:00
],
show: false
},
Pages: {
routes: [
2018-10-13 19:14:58 +02:00
{route: '/login', faIcon: 'fa fa-unlock-alt', materialIcon: 'lock_open', name: 'Login'},
//{ route: '/pricing', faIcon: 'fa fa-money', materialIcon: 'attach_money', name: 'Pricing' },
//{ route: '/drag-and-drop', faIcon: 'fa fa-arrows', materialIcon: 'move_to_inbox', name: 'Drag and Drop' },
//{ route: '/server-side-data-table', faIcon: 'fa fa-list-alt', materialIcon: 'list_compact', name: 'Server Side Data Table' }
2018-10-12 16:42:54 +02:00
],
show: false
}
}
}
},
2018-10-13 19:14:58 +02:00
created() {
2018-10-12 16:42:54 +02:00
var vm = this
/*firebase.auth().onAuthStateChanged(function (user) {
if (user) {
vm.user = user
vm.name = vm.user.displayName
vm.email = vm.user.email
vm.photo = vm.user.photoURL
vm.userId = vm.user.uid
}
})*/
},
2018-10-26 22:25:35 +02:00
methods:{
...mapActions("user", ["logout"]),
logoutHandler() {
this.logout({router: this.$router});
this.$q.notify(this.$t('logout.uscito'));
2018-10-12 16:42:54 +02:00
}
},
computed: {
2018-10-26 00:30:10 +02:00
...mapGetters("glob", ['getLayoutNeeded', 'getMenuCollapse']),
2018-10-26 22:25:35 +02:00
...mapGetters("user", ['getUsername', 'getVerificato', 'getEmail']),
2018-10-12 16:42:54 +02:00
},
components: {
menuOne,
menuTwo
}
}
</script>
<style scoped>
2018-10-13 19:14:58 +02:00
.fixed-bottom {
margin-bottom: 1%;
}
2018-10-12 16:42:54 +02:00
2018-10-13 19:14:58 +02:00
.fixed-bottom a img {
width: 25px;
height: 25px;
}
#avatar {
padding: 20px;
}
#profile {
height: 130px;
background-color: #009688;
}
#user-name {
left: 90px;
bottom: 77px;
position: relative;
width: 159px;
}
#user-actions {
left: 90px;
bottom: 71px;
position: relative;
width: 171px;
}
#menu-collapse {
margin-top: 5%;
}
2018-10-12 16:42:54 +02:00
</style>