pf-web-notification-library
Version:
A React component library for Firebase push notifications using PrimeReact Toaster
34 lines (33 loc) • 1.36 kB
JavaScript
;
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;