diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-09-18 22:18:21 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-18 22:18:21 +0900 |
| commit | df71dbb0242d763695ea8a33d0b2262c74b050d0 (patch) | |
| tree | 804eddb878fbe86f181b76cb3ed814f00ef3433f /src/client | |
| parent | chore: better error text (diff) | |
| download | sharkey-df71dbb0242d763695ea8a33d0b2262c74b050d0.tar.gz sharkey-df71dbb0242d763695ea8a33d0b2262c74b050d0.tar.bz2 sharkey-df71dbb0242d763695ea8a33d0b2262c74b050d0.zip | |
Resolve #6692 (#6703)
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/app.vue | 3 | ||||
| -rw-r--r-- | src/client/components/notifications.vue | 7 | ||||
| -rw-r--r-- | src/client/deck.vue | 3 | ||||
| -rw-r--r-- | src/client/pages/my-settings/index.vue | 8 |
4 files changed, 10 insertions, 11 deletions
diff --git a/src/client/app.vue b/src/client/app.vue index c10ba9c9d9..3453baa280 100644 --- a/src/client/app.vue +++ b/src/client/app.vue @@ -328,8 +328,7 @@ export default Vue.extend({ }, async onNotification(notification) { - const t = this.$store.state.i.includingNotificationTypes; - if (!!t && !t.includes(notification.type)) { + if (this.$store.state.i.mutingNotificationTypes.includes(notification.type)) { return; } if (document.visibilityState === 'visible') { diff --git a/src/client/components/notifications.vue b/src/client/components/notifications.vue index 07dee6354b..0e512e1967 100644 --- a/src/client/components/notifications.vue +++ b/src/client/components/notifications.vue @@ -58,7 +58,7 @@ export default Vue.extend({ computed: { allIncludeTypes() { - return this.includeTypes ?? this.$store.state.i.includingNotificationTypes; + return this.includeTypes ?? notificationTypes.filter(x => !this.$store.state.i.mutingNotificationTypes.includes(x)); } }, @@ -66,7 +66,7 @@ export default Vue.extend({ includeTypes() { this.reload(); }, - '$store.state.i.includingNotificationTypes'() { + '$store.state.i.mutingNotificationTypes'() { if (this.includeTypes === null) { this.reload(); } @@ -84,8 +84,7 @@ export default Vue.extend({ methods: { onNotification(notification) { - // - const isMuted = !!this.allIncludeTypes && !this.allIncludeTypes.includes(notification.type); + const isMuted = !this.allIncludeTypes.includes(notification.type); if (isMuted || document.visibilityState === 'visible') { this.$root.stream.send('readNotification', { id: notification.id diff --git a/src/client/deck.vue b/src/client/deck.vue index dc662801f0..c383a1b15c 100644 --- a/src/client/deck.vue +++ b/src/client/deck.vue @@ -161,8 +161,7 @@ export default Vue.extend({ }, async onNotification(notification) { - const t = this.$store.state.i.includingNotificationTypes; - if (!!t && !t.includes(notification.type)) { + if (this.$store.state.i.mutingNotificationTypes.includes(notification.type)) { return; } diff --git a/src/client/pages/my-settings/index.vue b/src/client/pages/my-settings/index.vue index 7da9f24c75..ae4ad4dff5 100644 --- a/src/client/pages/my-settings/index.vue +++ b/src/client/pages/my-settings/index.vue @@ -58,6 +58,7 @@ import XIntegration from './integration.vue'; import XApi from './api.vue'; import MkButton from '../../components/ui/button.vue'; import MkSwitch from '../../components/ui/switch.vue'; +import { notificationTypes } from '../../../types'; export default Vue.extend({ metaInfo() { @@ -114,14 +115,15 @@ export default Vue.extend({ }, async configure() { + const includingTypes = notificationTypes.filter(x => !this.$store.state.i.mutingNotificationTypes.includes(x)); this.$root.new(await import('../../components/notification-setting-window.vue').then(m => m.default), { - includingTypes: this.$store.state.i.includingNotificationTypes, + includingTypes, showGlobalToggle: false, }).$on('ok', async ({ includingTypes: value }: any) => { await this.$root.api('i/update', { - includingNotificationTypes: value, + mutingNotificationTypes: notificationTypes.filter(x => !value.includes(x)), }).then(i => { - this.$store.state.i.includingNotificationTypes = i.includingNotificationTypes; + this.$store.state.i.mutingNotificationTypes = i.mutingNotificationTypes; }).catch(err => { this.$root.dialog({ type: 'error', |