UNPKG

pf-web-notification-library

Version:

A React component library for Firebase push notifications using PrimeReact Toaster

34 lines (33 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useFirebaseMessaging = void 0; var react_1 = require("react"); var messaging_1 = require("firebase/messaging"); var app_1 = require("firebase/app"); var useFirebaseMessaging = function (firebaseConfig, onNotification) { (0, react_1.useEffect)(function () { var app; if (!(0, app_1.getApps)().length) { app = (0, app_1.initializeApp)(firebaseConfig); } else { app = (0, app_1.getApps)()[0]; } var messaging = (0, messaging_1.getMessaging)(app); Notification.requestPermission().then(function (permission) { if (permission === 'granted') { console.log('Notification permission granted.'); (0, messaging_1.onMessage)(messaging, function (payload) { console.log('Message received. ', payload); onNotification(payload); }); } else { console.log('Unable to get permission to notify.'); } }).catch(function (err) { console.error('An error occurred while retrieving token. ', err); }); }, [firebaseConfig, onNotification]); }; exports.useFirebaseMessaging = useFirebaseMessaging;