diff options
author | Ahmad M. Abdelaziz <a.3b3ziz@gmail.com> | 2021-10-16 10:26:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-16 13:56:13 +0530 |
commit | 09c2482eda07cdc4d2f03622f18de069848264ec (patch) | |
tree | a7481bd73527fc55d6f954dd4dfd76d61c0720c6 /src | |
parent | 5.6.3-nightly.35 [skip ci] (diff) | |
download | ferdium-app-09c2482eda07cdc4d2f03622f18de069848264ec.tar.gz ferdium-app-09c2482eda07cdc4d2f03622f18de069848264ec.tar.zst ferdium-app-09c2482eda07cdc4d2f03622f18de069848264ec.zip |
feat: add new preference to allow per-service wake-up (#2085)
Diffstat (limited to 'src')
-rw-r--r-- | src/components/settings/services/EditServiceForm.js | 1 | ||||
-rw-r--r-- | src/containers/settings/EditServiceScreen.js | 9 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 1 | ||||
-rw-r--r-- | src/models/Service.js | 6 | ||||
-rw-r--r-- | src/stores/ServicesStore.js | 2 |
5 files changed, 19 insertions, 0 deletions
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js index fd3c4a176..b040e6cc2 100644 --- a/src/components/settings/services/EditServiceForm.js +++ b/src/components/settings/services/EditServiceForm.js | |||
@@ -356,6 +356,7 @@ class EditServiceForm extends Component { | |||
356 | <p className="settings__help indented__help"> | 356 | <p className="settings__help indented__help"> |
357 | {intl.formatMessage(messages.isHibernationEnabledInfo)} | 357 | {intl.formatMessage(messages.isHibernationEnabledInfo)} |
358 | </p> | 358 | </p> |
359 | <Toggle field={form.$('isWakeUpEnabled')} /> | ||
359 | <Toggle field={form.$('isDarkModeEnabled')} /> | 360 | <Toggle field={form.$('isDarkModeEnabled')} /> |
360 | {form.$('isDarkModeEnabled').value && ( | 361 | {form.$('isDarkModeEnabled').value && ( |
361 | <> | 362 | <> |
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js index 85af0334d..972d3d251 100644 --- a/src/containers/settings/EditServiceScreen.js +++ b/src/containers/settings/EditServiceScreen.js | |||
@@ -37,6 +37,10 @@ const messages = defineMessages({ | |||
37 | id: 'settings.service.form.enableHibernation', | 37 | id: 'settings.service.form.enableHibernation', |
38 | defaultMessage: 'Enable hibernation', | 38 | defaultMessage: 'Enable hibernation', |
39 | }, | 39 | }, |
40 | enableWakeUp: { | ||
41 | id: 'settings.service.form.enableWakeUp', | ||
42 | defaultMessage: 'Enable wake up', | ||
43 | }, | ||
40 | enableNotification: { | 44 | enableNotification: { |
41 | id: 'settings.service.form.enableNotification', | 45 | id: 'settings.service.form.enableNotification', |
42 | defaultMessage: 'Enable notifications', | 46 | defaultMessage: 'Enable notifications', |
@@ -181,6 +185,11 @@ class EditServiceScreen extends Component { | |||
181 | : service.isHibernationEnabled, | 185 | : service.isHibernationEnabled, |
182 | default: true, | 186 | default: true, |
183 | }, | 187 | }, |
188 | isWakeUpEnabled: { | ||
189 | label: intl.formatMessage(messages.enableWakeUp), | ||
190 | value: service.isWakeUpEnabled, | ||
191 | default: true, | ||
192 | }, | ||
184 | isNotificationEnabled: { | 193 | isNotificationEnabled: { |
185 | label: intl.formatMessage(messages.enableNotification), | 194 | label: intl.formatMessage(messages.enableNotification), |
186 | value: service.isNotificationEnabled, | 195 | value: service.isNotificationEnabled, |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index baf9753a1..cf790567f 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -309,6 +309,7 @@ | |||
309 | "settings.service.form.enableBadge": "Show unread message badges", | 309 | "settings.service.form.enableBadge": "Show unread message badges", |
310 | "settings.service.form.enableDarkMode": "Enable Dark Mode", | 310 | "settings.service.form.enableDarkMode": "Enable Dark Mode", |
311 | "settings.service.form.enableHibernation": "Enable hibernation", | 311 | "settings.service.form.enableHibernation": "Enable hibernation", |
312 | "settings.service.form.enableWakeUp": "Enable wake up", | ||
312 | "settings.service.form.enableNotification": "Enable notifications", | 313 | "settings.service.form.enableNotification": "Enable notifications", |
313 | "settings.service.form.enableService": "Enable service", | 314 | "settings.service.form.enableService": "Enable service", |
314 | "settings.service.form.headlineBadges": "Unread message badges", | 315 | "settings.service.form.headlineBadges": "Unread message badges", |
diff --git a/src/models/Service.js b/src/models/Service.js index 75dfde027..12109fb0a 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -81,6 +81,8 @@ export default class Service { | |||
81 | 81 | ||
82 | @observable isHibernationEnabled = false; | 82 | @observable isHibernationEnabled = false; |
83 | 83 | ||
84 | @observable isWakeUpEnabled = true; | ||
85 | |||
84 | @observable isHibernationRequested = false; | 86 | @observable isHibernationRequested = false; |
85 | 87 | ||
86 | @observable onlyShowFavoritesInUnreadCount = false; | 88 | @observable onlyShowFavoritesInUnreadCount = false; |
@@ -163,6 +165,10 @@ export default class Service { | |||
163 | data.isHibernationEnabled, | 165 | data.isHibernationEnabled, |
164 | this.isHibernationEnabled, | 166 | this.isHibernationEnabled, |
165 | ); | 167 | ); |
168 | this.isWakeUpEnabled = ifUndefinedBoolean( | ||
169 | data.isWakeUpEnabled, | ||
170 | this.isWakeUpEnabled, | ||
171 | ); | ||
166 | 172 | ||
167 | // Check if "Hibernate on Startup" is enabled and hibernate all services except active one | 173 | // Check if "Hibernate on Startup" is enabled and hibernate all services except active one |
168 | const { hibernateOnStartup } = window.ferdi.stores.settings.app; | 174 | const { hibernateOnStartup } = window.ferdi.stores.settings.app; |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 5ed9e3534..c6baa4358 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -224,6 +224,7 @@ export default class ServicesStore extends Store { | |||
224 | } | 224 | } |
225 | 225 | ||
226 | if ( | 226 | if ( |
227 | service.isWakeUpEnabled && | ||
227 | service.lastHibernated && | 228 | service.lastHibernated && |
228 | Number(this.stores.settings.all.app.wakeUpStrategy) > 0 && | 229 | Number(this.stores.settings.all.app.wakeUpStrategy) > 0 && |
229 | Date.now() - service.lastHibernated > | 230 | Date.now() - service.lastHibernated > |
@@ -399,6 +400,7 @@ export default class ServicesStore extends Store { | |||
399 | serviceData = { | 400 | serviceData = { |
400 | isEnabled: true, | 401 | isEnabled: true, |
401 | isHibernationEnabled: false, | 402 | isHibernationEnabled: false, |
403 | isWakeUpEnabled: true, | ||
402 | isNotificationEnabled: true, | 404 | isNotificationEnabled: true, |
403 | isBadgeEnabled: true, | 405 | isBadgeEnabled: true, |
404 | isMuted: false, | 406 | isMuted: false, |