diff options
-rw-r--r-- | src/components/services/tabs/TabItem.js | 5 | ||||
-rw-r--r-- | src/components/settings/services/EditServiceForm.js | 1 | ||||
-rw-r--r-- | src/config.ts | 1 | ||||
-rw-r--r-- | src/containers/settings/EditServiceScreen.tsx | 9 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 3 | ||||
-rw-r--r-- | src/models/Service.ts | 10 | ||||
-rw-r--r-- | src/stores/ServicesStore.ts | 1 |
7 files changed, 27 insertions, 3 deletions
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index ccf4e8d18..0aab82a6f 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js | |||
@@ -350,7 +350,10 @@ class TabItem extends Component { | |||
350 | ); | 350 | ); |
351 | } | 351 | } |
352 | 352 | ||
353 | const showMediaBadge = service.isMediaPlaying && service.isEnabled; | 353 | const showMediaBadge = |
354 | service.isMediaBadgeEnabled && | ||
355 | service.isMediaPlaying && | ||
356 | service.isEnabled; | ||
354 | const mediaBadge = ( | 357 | const mediaBadge = ( |
355 | <Icon icon={mdiVolumeSource} className="tab-item__icon" /> | 358 | <Icon icon={mdiVolumeSource} className="tab-item__icon" /> |
356 | ); | 359 | ); |
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js index ab43bace9..069b6643c 100644 --- a/src/components/settings/services/EditServiceForm.js +++ b/src/components/settings/services/EditServiceForm.js | |||
@@ -347,6 +347,7 @@ class EditServiceForm extends Component { | |||
347 | <p className="settings__help indented__help"> | 347 | <p className="settings__help indented__help"> |
348 | {intl.formatMessage(messages.isMutedInfo)} | 348 | {intl.formatMessage(messages.isMutedInfo)} |
349 | </p> | 349 | </p> |
350 | <Toggle field={form.$('isMediaBadgeEnabled')} /> | ||
350 | </div> | 351 | </div> |
351 | 352 | ||
352 | <div className="settings__settings-group"> | 353 | <div className="settings__settings-group"> |
diff --git a/src/config.ts b/src/config.ts index 1261d900f..4bd1ca155 100644 --- a/src/config.ts +++ b/src/config.ts | |||
@@ -441,6 +441,7 @@ export const DEFAULT_SERVICE_SETTINGS = { | |||
441 | isWakeUpEnabled: true, | 441 | isWakeUpEnabled: true, |
442 | isNotificationEnabled: true, | 442 | isNotificationEnabled: true, |
443 | isBadgeEnabled: true, | 443 | isBadgeEnabled: true, |
444 | isMediaBadgeEnabled: false, | ||
444 | trapLinkClicks: false, | 445 | trapLinkClicks: false, |
445 | isMuted: false, | 446 | isMuted: false, |
446 | customIcon: false, | 447 | customIcon: false, |
diff --git a/src/containers/settings/EditServiceScreen.tsx b/src/containers/settings/EditServiceScreen.tsx index 0c7e3aa07..d0f0c779d 100644 --- a/src/containers/settings/EditServiceScreen.tsx +++ b/src/containers/settings/EditServiceScreen.tsx | |||
@@ -49,6 +49,10 @@ const messages = defineMessages({ | |||
49 | id: 'settings.service.form.enableBadge', | 49 | id: 'settings.service.form.enableBadge', |
50 | defaultMessage: 'Show unread message badges', | 50 | defaultMessage: 'Show unread message badges', |
51 | }, | 51 | }, |
52 | enableMediaBadge: { | ||
53 | id: 'settings.service.form.enableMediaBadge', | ||
54 | defaultMessage: 'Enable Media Play Indicator', | ||
55 | }, | ||
52 | enableAudio: { | 56 | enableAudio: { |
53 | id: 'settings.service.form.enableAudio', | 57 | id: 'settings.service.form.enableAudio', |
54 | defaultMessage: 'Enable audio', | 58 | defaultMessage: 'Enable audio', |
@@ -206,6 +210,11 @@ class EditServiceScreen extends Component<EditServicesScreenProps> { | |||
206 | value: service?.isBadgeEnabled, | 210 | value: service?.isBadgeEnabled, |
207 | default: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, | 211 | default: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, |
208 | }, | 212 | }, |
213 | isMediaBadgeEnabled: { | ||
214 | label: intl.formatMessage(messages.enableMediaBadge), | ||
215 | value: service?.isMediaBadgeEnabled, | ||
216 | default: DEFAULT_SERVICE_SETTINGS.isMediaBadgeEnabled, | ||
217 | }, | ||
209 | trapLinkClicks: { | 218 | trapLinkClicks: { |
210 | label: intl.formatMessage(messages.trapLinkClicks), | 219 | label: intl.formatMessage(messages.trapLinkClicks), |
211 | value: service?.trapLinkClicks, | 220 | value: service?.trapLinkClicks, |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 80ad855c3..58aaebc69 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -344,6 +344,7 @@ | |||
344 | "settings.service.form.editServiceHeadline": "Edit {name}", | 344 | "settings.service.form.editServiceHeadline": "Edit {name}", |
345 | "settings.service.form.enableAudio": "Enable audio", | 345 | "settings.service.form.enableAudio": "Enable audio", |
346 | "settings.service.form.enableBadge": "Show unread message badges", | 346 | "settings.service.form.enableBadge": "Show unread message badges", |
347 | "settings.service.form.enableMediaBadge": "Enable Media Play Indicator", | ||
347 | "settings.service.form.enableDarkMode": "Enable Dark Mode", | 348 | "settings.service.form.enableDarkMode": "Enable Dark Mode", |
348 | "settings.service.form.enableHibernation": "Enable hibernation", | 349 | "settings.service.form.enableHibernation": "Enable hibernation", |
349 | "settings.service.form.enableNotification": "Enable notifications", | 350 | "settings.service.form.enableNotification": "Enable notifications", |
@@ -491,4 +492,4 @@ | |||
491 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdium Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", | 492 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdium Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", |
492 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", | 493 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", |
493 | "workspaces.switchingIndicator.switchingTo": "Switching to" | 494 | "workspaces.switchingIndicator.switchingTo": "Switching to" |
494 | } \ No newline at end of file | 495 | } |
diff --git a/src/models/Service.ts b/src/models/Service.ts index f33d30695..e45909631 100644 --- a/src/models/Service.ts +++ b/src/models/Service.ts | |||
@@ -8,7 +8,7 @@ import ElectronWebView from 'react-electron-web-view'; | |||
8 | import { todosStore } from '../features/todos'; | 8 | import { todosStore } from '../features/todos'; |
9 | import { isValidExternalURL } from '../helpers/url-helpers'; | 9 | import { isValidExternalURL } from '../helpers/url-helpers'; |
10 | import UserAgent from './UserAgent'; | 10 | import UserAgent from './UserAgent'; |
11 | import { DEFAULT_SERVICE_ORDER } from '../config'; | 11 | import { DEFAULT_SERVICE_ORDER, DEFAULT_SERVICE_SETTINGS } from '../config'; |
12 | import { ifUndefined } from '../jsUtils'; | 12 | import { ifUndefined } from '../jsUtils'; |
13 | import { IRecipe } from './Recipe'; | 13 | import { IRecipe } from './Recipe'; |
14 | import { needsToken } from '../api/apiBase'; | 14 | import { needsToken } from '../api/apiBase'; |
@@ -59,6 +59,9 @@ export default class Service { | |||
59 | 59 | ||
60 | @observable isBadgeEnabled: boolean = true; | 60 | @observable isBadgeEnabled: boolean = true; |
61 | 61 | ||
62 | @observable isMediaBadgeEnabled: boolean = | ||
63 | DEFAULT_SERVICE_SETTINGS.isMediaBadgeEnabled; | ||
64 | |||
62 | @observable trapLinkClicks: boolean = false; | 65 | @observable trapLinkClicks: boolean = false; |
63 | 66 | ||
64 | @observable isIndirectMessageBadgeEnabled: boolean = true; | 67 | @observable isIndirectMessageBadgeEnabled: boolean = true; |
@@ -169,6 +172,11 @@ export default class Service { | |||
169 | data.isBadgeEnabled, | 172 | data.isBadgeEnabled, |
170 | this.isBadgeEnabled, | 173 | this.isBadgeEnabled, |
171 | ); | 174 | ); |
175 | |||
176 | this.isMediaBadgeEnabled = ifUndefined<boolean>( | ||
177 | data.isMediaBadgeEnabled, | ||
178 | this.isMediaBadgeEnabled, | ||
179 | ); | ||
172 | this.trapLinkClicks = ifUndefined<boolean>( | 180 | this.trapLinkClicks = ifUndefined<boolean>( |
173 | data.trapLinkClicks, | 181 | data.trapLinkClicks, |
174 | this.trapLinkClicks, | 182 | this.trapLinkClicks, |
diff --git a/src/stores/ServicesStore.ts b/src/stores/ServicesStore.ts index 00cf33b17..c8faf2e5c 100644 --- a/src/stores/ServicesStore.ts +++ b/src/stores/ServicesStore.ts | |||
@@ -460,6 +460,7 @@ export default class ServicesStore extends TypedStore { | |||
460 | isWakeUpEnabled: DEFAULT_SERVICE_SETTINGS.isWakeUpEnabled, | 460 | isWakeUpEnabled: DEFAULT_SERVICE_SETTINGS.isWakeUpEnabled, |
461 | isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled, | 461 | isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled, |
462 | isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, | 462 | isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, |
463 | isMediaBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isMediaBadgeEnabled, | ||
463 | trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks, | 464 | trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks, |
464 | isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, | 465 | isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, |
465 | customIcon: DEFAULT_SERVICE_SETTINGS.customIcon, | 466 | customIcon: DEFAULT_SERVICE_SETTINGS.customIcon, |