aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2018-12-07 15:15:31 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2018-12-07 15:15:31 +0700
commitbbae2e10f3214d4a38b31234fa01f92a52417b0b (patch)
tree15ff25f6441d3af534384de7ec8969d54127a9ff
parentebe2a951409ccb21d828924860a03c6052abbeb1 (diff)
Add configuration to enable/disable web push notifications
-rw-r--r--src/modules/config.js1
-rw-r--r--src/services/push/push.js5
2 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/config.js b/src/modules/config.js
index f23cacb7..1ad9df07 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -23,6 +23,7 @@ const defaultState = {
likes: true,
repeats: true
},
+ webPushNotifications: true,
muteWords: [],
highlight: {},
interfaceLanguage: browserLocale,
diff --git a/src/services/push/push.js b/src/services/push/push.js
index 7d99648a..28954948 100644
--- a/src/services/push/push.js
+++ b/src/services/push/push.js
@@ -1,4 +1,3 @@
-
function urlBase64ToUint8Array (base64String) {
const padding = '='.repeat((4 - base64String.length % 4) % 4)
const base64 = (base64String + padding)
@@ -46,6 +45,10 @@ function askPermission () {
}
function subscribe (registration, store) {
+ if (!store.rootState.config.webPushNotifications) {
+ return Promise.reject(new Error('Web Push is disabled in config'))
+ }
+
if (!store.rootState.instance.vapidPublicKey) {
return Promise.reject(new Error('VAPID publick key is not found'))
}