pleroma-fe/src/components/side_drawer/side_drawer.js

44 lines
908 B
JavaScript
Raw Normal View History

import UserCardContent from '../user_card_content/user_card_content.vue'
const deltaX = (oldX, newX) => newX - oldX
const touchEventX = e => e.touches[0].screenX
const SideDrawer = {
props: [ 'activatePanel', 'logout' ],
data: () => ({
closed: true,
touchX: 0
}),
components: { UserCardContent },
computed: {
currentUser () {
return this.$store.state.users.currentUser
2018-12-20 21:20:04 +01:00
}
},
methods: {
toggleDrawer () {
this.closed = !this.closed
},
2018-12-20 21:20:04 +01:00
gotoPanel (panel) {
this.activatePanel(panel)
this.toggleDrawer()
2018-12-22 16:32:07 +01:00
},
doLogout () {
this.logout()
this.gotoPanel('timeline')
},
touchStart (e) {
this.touchX = touchEventX(e)
},
touchMove (e) {
const delta = deltaX(this.touchX, touchEventX(e))
2018-12-23 19:14:40 +01:00
if (delta < -30 && !this.closed) {
this.toggleDrawer()
}
}
}
}
export default SideDrawer