akkoma-fe/src/components/nav_panel/nav_panel.js

67 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-02-22 14:24:04 +00:00
import TimelineMenuContent from '../timeline_menu/timeline_menu_content.vue'
2020-05-07 13:10:53 +00:00
import { mapState, mapGetters } from 'vuex'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faUsers,
2020-10-20 21:25:59 +00:00
faGlobe,
faBookmark,
faEnvelope,
2021-02-22 14:24:04 +00:00
faChevronDown,
faChevronUp,
faComments,
faBell,
2021-02-22 14:24:04 +00:00
faInfoCircle,
2022-06-14 20:53:51 +00:00
faStream,
faList,
faBullhorn
} from '@fortawesome/free-solid-svg-icons'
library.add(
faUsers,
2020-10-20 21:25:59 +00:00
faGlobe,
faBookmark,
faEnvelope,
2021-02-22 14:24:04 +00:00
faChevronDown,
faChevronUp,
faComments,
faBell,
2021-02-22 14:24:04 +00:00
faInfoCircle,
2022-06-14 20:53:51 +00:00
faStream,
faList,
faBullhorn
)
2016-11-06 19:10:20 +00:00
const NavPanel = {
created () {
if (this.currentUser && this.currentUser.locked) {
2020-01-21 15:51:49 +00:00
this.$store.dispatch('startFetchingFollowRequests')
}
},
2021-02-22 14:24:04 +00:00
components: {
TimelineMenuContent
},
data () {
return {
showTimelines: false
}
},
methods: {
toggleTimelines () {
this.showTimelines = !this.showTimelines
}
},
computed: {
...mapState({
currentUser: state => state.users.currentUser,
followRequestCount: state => state.api.followRequests.length,
privateMode: state => state.instance.private,
2020-05-07 13:10:53 +00:00
federating: state => state.instance.federating,
pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable
}),
...mapGetters(['unreadChatCount', 'unreadAnnouncementCount'])
}
2016-11-06 19:10:20 +00:00
}
export default NavPanel