aboutsummaryrefslogtreecommitdiff
path: root/src/services/desktop_notification_utils/desktop_notification_utils.js
diff options
context:
space:
mode:
authoreugenijm <eugenijm@protonmail.com>2020-07-13 00:06:45 +0300
committereugenijm <eugenijm@protonmail.com>2020-07-13 06:27:51 +0300
commit2c35afeebf4e508fd911a90d3c4af3a75e4484ab (patch)
treee63cfc5c4010a76b6c883be5fe0050a7bb7b985b /src/services/desktop_notification_utils/desktop_notification_utils.js
parent3e09a708f600b47dde831eeddb412828b38a0cf4 (diff)
Add desktop chat notifications
Diffstat (limited to 'src/services/desktop_notification_utils/desktop_notification_utils.js')
-rw-r--r--src/services/desktop_notification_utils/desktop_notification_utils.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/services/desktop_notification_utils/desktop_notification_utils.js b/src/services/desktop_notification_utils/desktop_notification_utils.js
new file mode 100644
index 00000000..b84a1f75
--- /dev/null
+++ b/src/services/desktop_notification_utils/desktop_notification_utils.js
@@ -0,0 +1,9 @@
+export const showDesktopNotification = (rootState, desktopNotificationOpts) => {
+ if (!('Notification' in window && window.Notification.permission === 'granted')) return
+ if (rootState.statuses.notifications.desktopNotificationSilence) { return }
+
+ const desktopNotification = new window.Notification(desktopNotificationOpts.title, desktopNotificationOpts)
+ // Chrome is known for not closing notifications automatically
+ // according to MDN, anyway.
+ setTimeout(desktopNotification.close.bind(desktopNotification), 5000)
+}