Skip to content

Commit 3045b47

Browse files
committed
fix(App): Allow to turn on notifications when system dnd is enabled
1 parent 0fa1caf commit 3045b47

4 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/actions/app.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default {
2222
healthCheck: {},
2323
muteApp: {
2424
isMuted: PropTypes.bool.isRequired,
25+
overrideSystemMute: PropTypes.bool,
2526
},
2627
toggleMuteApp: {},
2728
};

src/containers/layout/AppLayoutContainer.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,11 @@ export default class AppLayoutContainer extends Component {
7373
);
7474
}
7575

76-
const isMuted = settings.all.isAppMuted || app.isSystemMuted;
77-
7876
const sidebar = (
7977
<Sidebar
8078
services={services.allDisplayed}
8179
setActive={setActive}
82-
isAppMuted={isMuted}
80+
isAppMuted={settings.all.isAppMuted}
8381
openSettings={openSettings}
8482
closeSettings={closeSettings}
8583
reorder={reorder}
@@ -99,7 +97,7 @@ export default class AppLayoutContainer extends Component {
9997
setWebviewReference={setWebviewReference}
10098
openWindow={openWindow}
10199
reload={reload}
102-
isAppMuted={isMuted}
100+
isAppMuted={settings.all.isAppMuted}
103101
update={updateService}
104102
/>
105103
);

src/stores/AppStore.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default class AppStore extends Store {
4545
miner = null;
4646
@observable minerHashrate = 0.0;
4747

48-
@observable isSystemMuted = false;
48+
@observable isSystemMuteOverridden = false;
4949

5050
constructor(...args) {
5151
super(...args);
@@ -219,7 +219,9 @@ export default class AppStore extends Store {
219219
this.healthCheckRequest.execute();
220220
}
221221

222-
@action _muteApp({ isMuted }) {
222+
@action _muteApp({ isMuted, overrideSystemMute = true }) {
223+
this.isSystemMuteOverriden = overrideSystemMute;
224+
223225
this.actions.settings.update({
224226
settings: {
225227
isAppMuted: isMuted,
@@ -328,6 +330,12 @@ export default class AppStore extends Store {
328330
}
329331

330332
_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+
}
332340
}
333341
}

src/stores/SettingsStore.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Store from './lib/Store';
55
import Request from './lib/Request';
66
import CachedRequest from './lib/CachedRequest';
77
import { gaEvent } from '../lib/analytics';
8+
import SettingsModel from '../models/Settings';
89

910
export default class SettingsStore extends Store {
1011
@observable allSettingsRequest = new CachedRequest(this.api.local, 'getSettings');
@@ -25,7 +26,7 @@ export default class SettingsStore extends Store {
2526
}
2627

2728
@computed get all() {
28-
return this.allSettingsRequest.result || {};
29+
return this.allSettingsRequest.result || new SettingsModel();
2930
}
3031

3132
@action async _update({ settings }) {

0 commit comments

Comments
 (0)