import { Alert, Button, Col, Row, Space } from "antd"; import i18n from "i18next"; import React from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { selectUpdateAvailable } from "../../redux/application/application.selectors"; import { AlertOutlined } from "@ant-design/icons"; import { useTranslation } from "react-i18next"; import { setUpdateAvailable } from "../../redux/application/application.actions"; import { store } from "../../redux/store"; import * as serviceWorkerRegistration from "../../serviceWorkerRegistration"; let globalRegistration; const mapStateToProps = createStructuredSelector({ updateAvailable: selectUpdateAvailable, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect(mapStateToProps, mapDispatchToProps)(UpdateAlert); export function UpdateAlert({ updateAvailable }) { const { t } = useTranslation(); if (!updateAvailable) return null; return ( } description={ {t("general.messages.newversionmessage")} } closable={false} type="warning" /> ); } const onServiceWorkerUpdate = (registration) => { console.log("onServiceWorkerUpdate", registration); globalRegistration = registration; store.dispatch(setUpdateAvailable(true)); }; serviceWorkerRegistration.register({ onUpdate: onServiceWorkerUpdate });