import Popover from '../popover/popover.vue' import { mapState } from 'vuex' // Route -> i18n key mapping, exported andnot in the computed // because nav panel benefits from the same information. export const timelineNames = () => { return { 'friends': 'nav.timeline', 'bookmarks': 'nav.bookmarks', 'dms': 'nav.dms', 'public-timeline': 'nav.public_tl', 'public-external-timeline': 'nav.twkn' } } const TimelineMenu = { components: { Popover }, data () { return { isOpen: false } }, created () { if (this.currentUser && this.currentUser.locked) { this.$store.dispatch('startFetchingFollowRequests') } }, methods: { openMenu () { // $nextTick is too fast, animation won't play back but // instead starts in fully open position. Low values // like 1-5 work on fast machines but not on mobile, 25 // seems like a good compromise that plays without significant // added lag. setTimeout(() => { this.isOpen = true }, 25) } }, computed: { ...mapState({ currentUser: state => state.users.currentUser, privateMode: state => state.instance.private, federating: state => state.instance.federating }), timelineNames () { return timelineNames() } } } export default TimelineMenu