extra_notifications.js (1571B)
- import { mapGetters } from 'vuex'
- import { library } from '@fortawesome/fontawesome-svg-core'
- import {
- faUserPlus,
- faComments,
- faBullhorn
- } from '@fortawesome/free-solid-svg-icons'
- library.add(
- faUserPlus,
- faComments,
- faBullhorn
- )
- const ExtraNotifications = {
- computed: {
- shouldShowChats () {
- return this.mergedConfig.showExtraNotifications && this.mergedConfig.showChatsInExtraNotifications && this.unreadChatCount
- },
- shouldShowAnnouncements () {
- return this.mergedConfig.showExtraNotifications && this.mergedConfig.showAnnouncementsInExtraNotifications && this.unreadAnnouncementCount
- },
- shouldShowFollowRequests () {
- return this.mergedConfig.showExtraNotifications && this.mergedConfig.showFollowRequestsInExtraNotifications && this.followRequestCount
- },
- hasAnythingToShow () {
- return this.shouldShowChats || this.shouldShowAnnouncements || this.shouldShowFollowRequests
- },
- shouldShowCustomizationTip () {
- return this.mergedConfig.showExtraNotificationsTip && this.hasAnythingToShow
- },
- currentUser () {
- return this.$store.state.users.currentUser
- },
- ...mapGetters(['unreadChatCount', 'unreadAnnouncementCount', 'followRequestCount', 'mergedConfig'])
- },
- methods: {
- openNotificationSettings () {
- return this.$store.dispatch('openSettingsModalTab', 'notifications')
- },
- dismissConfigurationTip () {
- return this.$store.dispatch('setOption', { name: 'showExtraNotificationsTip', value: false })
- }
- }
- }
- export default ExtraNotifications