Make extra notification display customizable
This commit is contained in:
parent
c4549f0993
commit
7f51ea369e
|
@ -3,15 +3,29 @@ import { mapGetters } from 'vuex'
|
||||||
const ExtraNotifications = {
|
const ExtraNotifications = {
|
||||||
computed: {
|
computed: {
|
||||||
shouldShowChats () {
|
shouldShowChats () {
|
||||||
return this.unreadChatCount
|
return this.mergedConfig.showExtraNotifications && this.mergedConfig.showChatsInExtraNotifications && this.unreadChatCount
|
||||||
},
|
},
|
||||||
shouldShowAnnouncements () {
|
shouldShowAnnouncements () {
|
||||||
return this.unreadAnnouncementCount
|
return this.mergedConfig.showExtraNotifications && this.mergedConfig.showAnnouncementsInExtraNotifications && this.unreadAnnouncementCount
|
||||||
},
|
},
|
||||||
shouldShowFollowRequests () {
|
shouldShowFollowRequests () {
|
||||||
return this.followRequestCount
|
return this.mergedConfig.showExtraNotifications && this.mergedConfig.showFollowRequestsInExtraNotifications && this.followRequestCount
|
||||||
},
|
},
|
||||||
...mapGetters(['unreadChatCount', 'unreadAnnouncementCount', 'followRequestCount'])
|
hasAnythingToShow () {
|
||||||
|
return this.shouldShowChats || this.shouldShowAnnouncements || this.shouldShowFollowRequests
|
||||||
|
},
|
||||||
|
shouldShowCustomizationTip () {
|
||||||
|
return this.mergedConfig.showExtraNotificationsTip && this.hasAnythingToShow
|
||||||
|
},
|
||||||
|
...mapGetters(['unreadChatCount', 'unreadAnnouncementCount', 'followRequestCount', 'mergedConfig'])
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openNotificationSettings () {
|
||||||
|
return this.$store.dispatch('openSettingsModalTab', 'notifications')
|
||||||
|
},
|
||||||
|
dismissConfigurationTip () {
|
||||||
|
return this.$store.dispatch('setOption', { name: 'showExtraNotificationsTip', value: false })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,29 @@
|
||||||
>
|
>
|
||||||
{{ $tc('notifications.unread_follow_requests', followRequestCount, { num: followRequestCount }) }}
|
{{ $tc('notifications.unread_follow_requests', followRequestCount, { num: followRequestCount }) }}
|
||||||
</router-link>
|
</router-link>
|
||||||
|
<i18n-t
|
||||||
|
v-if="shouldShowCustomizationTip"
|
||||||
|
tag="span"
|
||||||
|
class="extra-notification tip"
|
||||||
|
keypath="notifications.configuration_tip"
|
||||||
|
>
|
||||||
|
<template #theSettings>
|
||||||
|
<button
|
||||||
|
class="button-unstyled -link"
|
||||||
|
@click="openNotificationSettings"
|
||||||
|
>
|
||||||
|
{{ $t('notifications.configuration_tip_settings') }}
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
|
<template #dismiss>
|
||||||
|
<button
|
||||||
|
class="button-unstyled -link"
|
||||||
|
@click="dismissConfigurationTip"
|
||||||
|
>
|
||||||
|
{{ $t('notifications.configuration_tip_dismiss') }}
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
|
</i18n-t>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -45,5 +68,9 @@
|
||||||
border-color: $fallback--border;
|
border-color: $fallback--border;
|
||||||
border-color: var(--border, $fallback--border);
|
border-color: var(--border, $fallback--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tip {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -51,6 +51,47 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting path="showExtraNotifications">
|
||||||
|
{{ $t('settings.notification_show_extra') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ul class="setting-list suboptions">
|
||||||
|
<li>
|
||||||
|
<BooleanSetting
|
||||||
|
path="showChatsInExtraNotifications"
|
||||||
|
:disabled="!mergedConfig.showExtraNotifications"
|
||||||
|
>
|
||||||
|
{{ $t('settings.notification_extra_chats') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting
|
||||||
|
path="showAnnouncementsInExtraNotifications"
|
||||||
|
:disabled="!mergedConfig.showExtraNotifications"
|
||||||
|
>
|
||||||
|
{{ $t('settings.notification_extra_announcements') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting
|
||||||
|
path="showFollowRequestsInExtraNotifications"
|
||||||
|
:disabled="!mergedConfig.showExtraNotifications"
|
||||||
|
>
|
||||||
|
{{ $t('settings.notification_extra_follow_requests') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting
|
||||||
|
path="showExtraNotificationsTip"
|
||||||
|
:disabled="!mergedConfig.showExtraNotifications"
|
||||||
|
>
|
||||||
|
{{ $t('settings.notification_extra_tip') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -208,7 +208,10 @@
|
||||||
"poll_ended": "poll has ended",
|
"poll_ended": "poll has ended",
|
||||||
"unread_announcements": "{num} unread announcement | {num} unread announcements",
|
"unread_announcements": "{num} unread announcement | {num} unread announcements",
|
||||||
"unread_chats": "{num} unread chat | {num} unread chats",
|
"unread_chats": "{num} unread chat | {num} unread chats",
|
||||||
"unread_follow_requests": "{num} new follow request | {num} new follow requests"
|
"unread_follow_requests": "{num} new follow request | {num} new follow requests",
|
||||||
|
"configuration_tip": "You can customize what to display here in {theSettings}. {dismiss}",
|
||||||
|
"configuration_tip_settings": "the settings",
|
||||||
|
"configuration_tip_dismiss": "Do not show again"
|
||||||
},
|
},
|
||||||
"polls": {
|
"polls": {
|
||||||
"add_poll": "Add poll",
|
"add_poll": "Add poll",
|
||||||
|
@ -562,6 +565,11 @@
|
||||||
"notification_visibility_moves": "User Migrates",
|
"notification_visibility_moves": "User Migrates",
|
||||||
"notification_visibility_emoji_reactions": "Reactions",
|
"notification_visibility_emoji_reactions": "Reactions",
|
||||||
"notification_visibility_polls": "Ends of polls you voted in",
|
"notification_visibility_polls": "Ends of polls you voted in",
|
||||||
|
"notification_show_extra": "Show extra notifications in the notifications column",
|
||||||
|
"notification_extra_chats": "Show unread chats",
|
||||||
|
"notification_extra_announcements": "Show unread announcements",
|
||||||
|
"notification_extra_follow_requests": "Show new follow requests",
|
||||||
|
"notification_extra_tip": "Show the customization tip for extra notifications",
|
||||||
"no_rich_text_description": "Strip rich text formatting from all posts",
|
"no_rich_text_description": "Strip rich text formatting from all posts",
|
||||||
"no_blocks": "No blocks",
|
"no_blocks": "No blocks",
|
||||||
"no_mutes": "No mutes",
|
"no_mutes": "No mutes",
|
||||||
|
|
|
@ -117,6 +117,11 @@ export const defaultState = {
|
||||||
conversationTreeAdvanced: undefined, // instance default
|
conversationTreeAdvanced: undefined, // instance default
|
||||||
conversationOtherRepliesButton: undefined, // instance default
|
conversationOtherRepliesButton: undefined, // instance default
|
||||||
conversationTreeFadeAncestors: undefined, // instance default
|
conversationTreeFadeAncestors: undefined, // instance default
|
||||||
|
showExtraNotifications: undefined, // instance default
|
||||||
|
showExtraNotificationsTip: undefined, // instance default
|
||||||
|
showChatsInExtraNotifications: undefined, // instance default
|
||||||
|
showAnnouncementsInExtraNotifications: undefined, // instance default
|
||||||
|
showFollowRequestsInExtraNotifications: undefined, // instance default
|
||||||
maxDepthInThread: undefined, // instance default
|
maxDepthInThread: undefined, // instance default
|
||||||
autocompleteSelect: undefined // instance default
|
autocompleteSelect: undefined // instance default
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,6 +103,11 @@ const defaultState = {
|
||||||
conversationTreeAdvanced: false,
|
conversationTreeAdvanced: false,
|
||||||
conversationOtherRepliesButton: 'below',
|
conversationOtherRepliesButton: 'below',
|
||||||
conversationTreeFadeAncestors: false,
|
conversationTreeFadeAncestors: false,
|
||||||
|
showExtraNotifications: true,
|
||||||
|
showExtraNotificationsTip: true,
|
||||||
|
showChatsInExtraNotifications: true,
|
||||||
|
showAnnouncementsInExtraNotifications: true,
|
||||||
|
showFollowRequestsInExtraNotifications: true,
|
||||||
maxDepthInThread: 6,
|
maxDepthInThread: 6,
|
||||||
autocompleteSelect: false,
|
autocompleteSelect: false,
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue