From cea7a5cde78189d43fdd4d43d6a5cb12cd29e1c5 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Thu, 14 Dec 2017 16:49:50 +0100 Subject: feat(Service): Add option to completely disable message badges --- .../settings/services/EditServiceForm.js | 52 ++++++++++++++++------ 1 file changed, 38 insertions(+), 14 deletions(-) (limited to 'src/components') diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js index 36cefe87c..32f9d72f0 100644 --- a/src/components/settings/services/EditServiceForm.js +++ b/src/components/settings/services/EditServiceForm.js @@ -67,6 +67,18 @@ const messages = defineMessages({ id: 'settings.service.form.isMutedInfo', defaultMessage: '!!!When disabled, all notification sounds and audio playback are muted', }, + headlineNotifications: { + id: 'settings.service.form.headlineNotifications', + defaultMessage: '!!!Notifications', + }, + headlineBadges: { + id: 'settings.service.form.headlineBadges', + defaultMessage: '!!!Unread message dadges', + }, + headlineGeneral: { + id: 'settings.service.form.headlineGeneral', + defaultMessage: '!!!General', + }, }); @observer @@ -231,20 +243,32 @@ export default class EditServiceForm extends Component { )}
- - {recipe.hasIndirectMessages && ( -
- -

- {intl.formatMessage(messages.indirectMessageInfo)} -

-
- )} - -

- {intl.formatMessage(messages.isMutedInfo)} -

- +
+

{intl.formatMessage(messages.headlineNotifications)}

+ + +

+ {intl.formatMessage(messages.isMutedInfo)} +

+
+ +
+

{intl.formatMessage(messages.headlineBadges)}

+ + {recipe.hasIndirectMessages && form.$('isBadgeEnabled').value && ( +
+ +

+ {intl.formatMessage(messages.indirectMessageInfo)} +

+
+ )} +
+ +
+

{intl.formatMessage(messages.headlineGeneral)}

+ +
{recipe.message && (

-- cgit v1.2.3-70-g09d2 From f8bb2bedba18af4085865209805a2c5373ffb027 Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Thu, 14 Dec 2017 17:09:21 +0100 Subject: Add missing commit --- src/components/services/tabs/TabItem.js | 2 +- src/models/Service.js | 3 +++ src/stores/ServicesStore.js | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/components') diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index 8403d9462..7aed8fda7 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js @@ -126,7 +126,7 @@ class TabItem extends Component { const menu = Menu.buildFromTemplate(menuTemplate); let notificationBadge = null; - if ((showMessageBadgeWhenMutedSetting || service.isNotificationEnabled) && showMessageBadgesEvenWhenMuted) { + if ((showMessageBadgeWhenMutedSetting || service.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && service.isBadgeEnabled) { notificationBadge = ( {service.unreadDirectMessageCount > 0 && ( diff --git a/src/models/Service.js b/src/models/Service.js index 820cf4506..0b19440e7 100644 --- a/src/models/Service.js +++ b/src/models/Service.js @@ -53,6 +53,9 @@ export default class Service { this.isNotificationEnabled = data.isNotificationEnabled !== undefined ? data.isNotificationEnabled : this.isNotificationEnabled; + this.isBadgeEnabled = data.isBadgeEnabled !== undefined + ? data.isBadgeEnabled : this.isBadgeEnabled; + this.isIndirectMessageBadgeEnabled = data.isIndirectMessageBadgeEnabled !== undefined ? data.isIndirectMessageBadgeEnabled : this.isIndirectMessageBadgeEnabled; diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index b04aafd78..1cdf06041 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js @@ -491,13 +491,13 @@ export default class ServicesStore extends Store { const showMessageBadgeWhenMuted = this.stores.settings.all.showMessageBadgeWhenMuted; const showMessageBadgesEvenWhenMuted = this.stores.ui.showMessageBadgesEvenWhenMuted; - const unreadDirectMessageCount = this.enabled - .filter(s => (showMessageBadgeWhenMuted || s.isNotificationEnabled) && showMessageBadgesEvenWhenMuted) + const unreadDirectMessageCount = this.allDisplayed + .filter(s => (showMessageBadgeWhenMuted || s.isNotificationEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) .map(s => s.unreadDirectMessageCount) .reduce((a, b) => a + b, 0); - const unreadIndirectMessageCount = this.enabled - .filter(s => (showMessageBadgeWhenMuted || s.isIndirectMessageBadgeEnabled) && showMessageBadgesEvenWhenMuted) + const unreadIndirectMessageCount = this.allDisplayed + .filter(s => (showMessageBadgeWhenMuted || s.isIndirectMessageBadgeEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) .map(s => s.unreadIndirectMessageCount) .reduce((a, b) => a + b, 0); -- cgit v1.2.3-70-g09d2