diff options
author | vantezzen <hello@vantezzen.io> | 2019-09-21 11:37:30 +0200 |
---|---|---|
committer | vantezzen <hello@vantezzen.io> | 2019-09-21 11:37:30 +0200 |
commit | 4e1fc89de9ce3bf00f7387f39062d1b4878ecd16 (patch) | |
tree | 9d86224f7be338cbd43dfedb9b9831ee2a851ff7 /src/stores/ServicesStore.js | |
parent | Use official node-auto-launch (diff) | |
download | ferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.tar.gz ferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.tar.zst ferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.zip |
Add scheduled Do-not-Disturb feature
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r-- | src/stores/ServicesStore.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index f88b14983..45350d8f5 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -11,6 +11,7 @@ import Store from './lib/Store'; | |||
11 | import Request from './lib/Request'; | 11 | import Request from './lib/Request'; |
12 | import CachedRequest from './lib/CachedRequest'; | 12 | import CachedRequest from './lib/CachedRequest'; |
13 | import { matchRoute } from '../helpers/routing-helpers'; | 13 | import { matchRoute } from '../helpers/routing-helpers'; |
14 | import { isInTimeframe } from '../helpers/schedule-helpers'; | ||
14 | import { workspaceStore } from '../features/workspaces'; | 15 | import { workspaceStore } from '../features/workspaces'; |
15 | import { serviceLimitStore } from '../features/serviceLimit'; | 16 | import { serviceLimitStore } from '../features/serviceLimit'; |
16 | import { RESTRICTION_TYPES } from '../models/Service'; | 17 | import { RESTRICTION_TYPES } from '../models/Service'; |
@@ -422,6 +423,18 @@ export default class ServicesStore extends Store { | |||
422 | }); | 423 | }); |
423 | } else if (channel === 'notification') { | 424 | } else if (channel === 'notification') { |
424 | const { options } = args[0]; | 425 | const { options } = args[0]; |
426 | |||
427 | // Check if we are in scheduled Do-not-Disturb time | ||
428 | const { | ||
429 | scheduledDNDEnabled, | ||
430 | scheduledDNDStart, | ||
431 | scheduledDNDEnd, | ||
432 | } = this.stores.settings.all.app; | ||
433 | |||
434 | if (scheduledDNDEnabled && isInTimeframe(scheduledDNDStart, scheduledDNDEnd)) { | ||
435 | return; | ||
436 | } | ||
437 | |||
425 | if (service.recipe.hasNotificationSound || service.isMuted || this.stores.settings.all.app.isAppMuted) { | 438 | if (service.recipe.hasNotificationSound || service.isMuted || this.stores.settings.all.app.isAppMuted) { |
426 | Object.assign(options, { | 439 | Object.assign(options, { |
427 | silent: true, | 440 | silent: true, |