diff options
author | Stefan Malzner <stefan@adlk.io> | 2017-11-30 00:12:16 +0100 |
---|---|---|
committer | Stefan Malzner <stefan@adlk.io> | 2017-11-30 00:12:16 +0100 |
commit | 3045b47d869da4e62e9403c63652baeb7b349e1d (patch) | |
tree | ae579477cd09b4683b78eb473ebc7abbb88ffc20 /src/stores | |
parent | fix(App): App mute now disables notifications as well (diff) | |
download | ferdium-app-3045b47d869da4e62e9403c63652baeb7b349e1d.tar.gz ferdium-app-3045b47d869da4e62e9403c63652baeb7b349e1d.tar.zst ferdium-app-3045b47d869da4e62e9403c63652baeb7b349e1d.zip |
fix(App): Allow to turn on notifications when system dnd is enabled
Diffstat (limited to 'src/stores')
-rw-r--r-- | src/stores/AppStore.js | 14 | ||||
-rw-r--r-- | src/stores/SettingsStore.js | 3 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 71b41e499..0cfe08a28 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js | |||
@@ -45,7 +45,7 @@ export default class AppStore extends Store { | |||
45 | miner = null; | 45 | miner = null; |
46 | @observable minerHashrate = 0.0; | 46 | @observable minerHashrate = 0.0; |
47 | 47 | ||
48 | @observable isSystemMuted = false; | 48 | @observable isSystemMuteOverridden = false; |
49 | 49 | ||
50 | constructor(...args) { | 50 | constructor(...args) { |
51 | super(...args); | 51 | super(...args); |
@@ -219,7 +219,9 @@ export default class AppStore extends Store { | |||
219 | this.healthCheckRequest.execute(); | 219 | this.healthCheckRequest.execute(); |
220 | } | 220 | } |
221 | 221 | ||
222 | @action _muteApp({ isMuted }) { | 222 | @action _muteApp({ isMuted, overrideSystemMute = true }) { |
223 | this.isSystemMuteOverriden = overrideSystemMute; | ||
224 | |||
223 | this.actions.settings.update({ | 225 | this.actions.settings.update({ |
224 | settings: { | 226 | settings: { |
225 | isAppMuted: isMuted, | 227 | isAppMuted: isMuted, |
@@ -328,6 +330,12 @@ export default class AppStore extends Store { | |||
328 | } | 330 | } |
329 | 331 | ||
330 | _systemDND() { | 332 | _systemDND() { |
331 | this.isSystemMuted = getDoNotDisturb(); | 333 | const dnd = getDoNotDisturb(); |
334 | if (dnd === this.stores.settings.all.isAppMuted || !this.isSystemMuteOverriden) { | ||
335 | this.actions.app.muteApp({ | ||
336 | isMuted: dnd, | ||
337 | overrideSystemMute: false, | ||
338 | }); | ||
339 | } | ||
332 | } | 340 | } |
333 | } | 341 | } |
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js index 30058f41d..33473f16d 100644 --- a/src/stores/SettingsStore.js +++ b/src/stores/SettingsStore.js | |||
@@ -5,6 +5,7 @@ import Store from './lib/Store'; | |||
5 | import Request from './lib/Request'; | 5 | import Request from './lib/Request'; |
6 | import CachedRequest from './lib/CachedRequest'; | 6 | import CachedRequest from './lib/CachedRequest'; |
7 | import { gaEvent } from '../lib/analytics'; | 7 | import { gaEvent } from '../lib/analytics'; |
8 | import SettingsModel from '../models/Settings'; | ||
8 | 9 | ||
9 | export default class SettingsStore extends Store { | 10 | export default class SettingsStore extends Store { |
10 | @observable allSettingsRequest = new CachedRequest(this.api.local, 'getSettings'); | 11 | @observable allSettingsRequest = new CachedRequest(this.api.local, 'getSettings'); |
@@ -25,7 +26,7 @@ export default class SettingsStore extends Store { | |||
25 | } | 26 | } |
26 | 27 | ||
27 | @computed get all() { | 28 | @computed get all() { |
28 | return this.allSettingsRequest.result || {}; | 29 | return this.allSettingsRequest.result || new SettingsModel(); |
29 | } | 30 | } |
30 | 31 | ||
31 | @action async _update({ settings }) { | 32 | @action async _update({ settings }) { |