diff --git a/app/components/notifications/notifications.js b/app/components/notifications/notifications.js index 3b9b6b3..2cc42db 100644 --- a/app/components/notifications/notifications.js +++ b/app/components/notifications/notifications.js @@ -1,23 +1,43 @@ -/*global PNotify */ +/*global PNotify, window, Notification */ 'use strict'; angular.module('bansho.notifications', []) .service('notifications', [ function () { - var push = function (type, title, message) { + var sendNotification = function (type, title, message) { + new Notification(title, {body: message}); + }; + + var sendPNotify = function (type, title, message) { $(function(){ new PNotify({ type: type, title: title, text: message, - styling: {}, + styling: {} }); }); }; + var push = function (type, title, message) { + if (window.Notification && Notification.permission === "granted") { + sendNotification(type, title, message); + } else if (window.Notification && Notification.permission !== "denied") { + sendPNotify(type, title, message); + + // Ask permission for next time + Notification.requestPermission(function (status) { + if (Notification.permission !== status) { + Notification.permission = status; + } + }); + } else { + sendPNotify(type, title, message); + } + }; + return { "push": push }; - }]);