aboutsummaryrefslogtreecommitdiff
path: root/src/services/desktop_notification_utils/desktop_notification_utils.js
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-07-20 14:34:50 +0000
committerShpuld Shpludson <shp@cock.li>2020-07-20 14:34:50 +0000
commita06ab08f96ba25a5163dd3c8e7e0fec75023c302 (patch)
tree0f977bf96ce11e078adb0e470c5a33eb5e18d630 /src/services/desktop_notification_utils/desktop_notification_utils.js
parente0add7a44e6d626ddfcb5869cf5cade719ca2061 (diff)
parent54dea24bb8b34021debdb2ab505a2e0b5b770ed9 (diff)
Merge branch 'desktop-notifications-for-chat' into 'develop'
Desktop chat notifications Closes #893 See merge request pleroma/pleroma-fe!1185
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)
+}