aboutsummaryrefslogtreecommitdiffstats
path: root/src/stores
diff options
context:
space:
mode:
authorLibravatar vantezzen <hello@vantezzen.io>2019-09-21 11:37:30 +0200
committerLibravatar vantezzen <hello@vantezzen.io>2019-09-21 11:37:30 +0200
commit4e1fc89de9ce3bf00f7387f39062d1b4878ecd16 (patch)
tree9d86224f7be338cbd43dfedb9b9831ee2a851ff7 /src/stores
parentUse official node-auto-launch (diff)
downloadferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.tar.gz
ferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.tar.zst
ferdium-app-4e1fc89de9ce3bf00f7387f39062d1b4878ecd16.zip
Add scheduled Do-not-Disturb feature
Diffstat (limited to 'src/stores')
-rw-r--r--src/stores/ServicesStore.js13
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';
11import Request from './lib/Request'; 11import Request from './lib/Request';
12import CachedRequest from './lib/CachedRequest'; 12import CachedRequest from './lib/CachedRequest';
13import { matchRoute } from '../helpers/routing-helpers'; 13import { matchRoute } from '../helpers/routing-helpers';
14import { isInTimeframe } from '../helpers/schedule-helpers';
14import { workspaceStore } from '../features/workspaces'; 15import { workspaceStore } from '../features/workspaces';
15import { serviceLimitStore } from '../features/serviceLimit'; 16import { serviceLimitStore } from '../features/serviceLimit';
16import { RESTRICTION_TYPES } from '../models/Service'; 17import { 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,