import { withApollo } from "@apollo/client/react/hoc"; import React, { Component } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; //import { logImEXEvent, messaging } from "../../firebase/firebase.utils"; import { selectCurrentUser } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); class FcmNotificationComponent extends Component { async componentDidMount() { //const { client, currentUser } = this.props; // if (!!!messaging) return; //Skip all of the notification functionality if the firebase SDK could not start. // messaging // .requestPermission() // .then(async function () { // // const token = await messaging.getToken(); // // client.mutate({ // // mutation: UPDATE_FCM_TOKEN, // // variables: { authEmail: currentUser.email, token: { [token]: true } }, // // }); // }) // .catch(function (err) { // console.log("Unable to get permission to notify.", err); // logImEXEvent("fcm_permission_denied", { message: err }); // }); } render() { return ; } } export default connect( mapStateToProps, mapDispatchToProps )(withApollo(FcmNotificationComponent)); //Firebase Service Worker Register // if ("serviceWorker" in navigator) { // navigator.serviceWorker // .register("/firebase-messaging-sw.js") // .then(function (registration) { // console.log( // "[FCM] Registration successful, scope is:", // registration.scope // ); // navigator.serviceWorker.addEventListener("message", (event) => { // console.log("Handler for Navigator Service Worker.", event); // }); // }) // .catch(function (err) { // console.log("[FCM] Service worker registration failed, error:", err); // }); // }