From bbae2e10f3214d4a38b31234fa01f92a52417b0b Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Fri, 7 Dec 2018 15:15:31 +0700 Subject: [PATCH] Add configuration to enable/disable web push notifications --- src/modules/config.js | 1 + src/services/push/push.js | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) 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')) }