aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/components/services/tabs/TabItem.js5
-rw-r--r--src/components/settings/services/EditServiceForm.js1
-rw-r--r--src/config.ts1
-rw-r--r--src/containers/settings/EditServiceScreen.tsx9
-rw-r--r--src/i18n/locales/en-US.json3
-rw-r--r--src/models/Service.ts10
-rw-r--r--src/stores/ServicesStore.ts1
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';
8import { todosStore } from '../features/todos'; 8import { todosStore } from '../features/todos';
9import { isValidExternalURL } from '../helpers/url-helpers'; 9import { isValidExternalURL } from '../helpers/url-helpers';
10import UserAgent from './UserAgent'; 10import UserAgent from './UserAgent';
11import { DEFAULT_SERVICE_ORDER } from '../config'; 11import { DEFAULT_SERVICE_ORDER, DEFAULT_SERVICE_SETTINGS } from '../config';
12import { ifUndefined } from '../jsUtils'; 12import { ifUndefined } from '../jsUtils';
13import { IRecipe } from './Recipe'; 13import { IRecipe } from './Recipe';
14import { needsToken } from '../api/apiBase'; 14import { 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,