From 893a9f6d9a1bcdbbfe925e718b2c907dcceaa64e Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Fri, 1 Dec 2017 12:26:41 +0100 Subject: feat(App): Add option to show/hide notification badges for muted services (@maximiliancsuk) --- src/components/services/tabs/TabBarSortableList.js | 6 ++++ src/components/services/tabs/TabItem.js | 37 +++++++++++++++------- src/components/services/tabs/Tabbar.js | 6 ++++ 3 files changed, 37 insertions(+), 12 deletions(-) (limited to 'src/components/services') diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js index 2daf55676..489027d57 100644 --- a/src/components/services/tabs/TabBarSortableList.js +++ b/src/components/services/tabs/TabBarSortableList.js @@ -17,6 +17,8 @@ class TabBarSortableList extends Component { deleteService: PropTypes.func.isRequired, disableService: PropTypes.func.isRequired, enableService: PropTypes.func.isRequired, + showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, + showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, } render() { @@ -30,6 +32,8 @@ class TabBarSortableList extends Component { disableService, enableService, openSettings, + showMessageBadgeWhenMutedSetting, + showMessageBadgesEvenWhenMuted, } = this.props; return ( @@ -50,6 +54,8 @@ class TabBarSortableList extends Component { disableService={() => disableService({ serviceId: service.id })} enableService={() => enableService({ serviceId: service.id })} openSettings={openSettings} + showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} + showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} /> ))} {/*
  • diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index a7136c43f..8403d9462 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js @@ -63,6 +63,8 @@ class TabItem extends Component { deleteService: PropTypes.func.isRequired, disableService: PropTypes.func.isRequired, enableService: PropTypes.func.isRequired, + showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, + showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, }; static contextTypes = { @@ -81,6 +83,8 @@ class TabItem extends Component { disableService, enableService, openSettings, + showMessageBadgeWhenMutedSetting, + showMessageBadgesEvenWhenMuted, } = this.props; const { intl } = this.context; @@ -121,6 +125,26 @@ class TabItem extends Component { }]; const menu = Menu.buildFromTemplate(menuTemplate); + let notificationBadge = null; + if ((showMessageBadgeWhenMutedSetting || service.isNotificationEnabled) && showMessageBadgesEvenWhenMuted) { + notificationBadge = ( + + {service.unreadDirectMessageCount > 0 && ( + + {service.unreadDirectMessageCount} + + )} + {service.unreadIndirectMessageCount > 0 + && service.unreadDirectMessageCount === 0 + && service.isIndirectMessageBadgeEnabled && ( + + • + + )} + + ); + } + return (
  • - {service.unreadDirectMessageCount > 0 && ( - - {service.unreadDirectMessageCount} - - )} - {service.unreadIndirectMessageCount > 0 - && service.unreadDirectMessageCount === 0 - && service.isIndirectMessageBadgeEnabled && ( - - • - - )} + {notificationBadge}
  • ); } diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js index 9da1090b7..ceb88c51c 100644 --- a/src/components/services/tabs/Tabbar.js +++ b/src/components/services/tabs/Tabbar.js @@ -18,6 +18,8 @@ export default class TabBar extends Component { toggleAudio: PropTypes.func.isRequired, deleteService: PropTypes.func.isRequired, updateService: PropTypes.func.isRequired, + showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, + showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, } onSortEnd = ({ oldIndex, newIndex }) => { @@ -64,6 +66,8 @@ export default class TabBar extends Component { toggleNotifications, toggleAudio, deleteService, + showMessageBadgeWhenMutedSetting, + showMessageBadgesEvenWhenMuted, } = this.props; return ( @@ -85,6 +89,8 @@ export default class TabBar extends Component { axis="y" lockAxis="y" helperClass="is-reordering" + showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} + showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} /> ); -- cgit v1.2.3-54-g00ecf