import { i18n } from 'arm-common'; import agui from 'arm-gui'; import React, { useCallback, useMemo } from 'react'; import { connect } from 'react-redux'; const selectorName = 'stub-gui-alive-status-message'; export default function AliveStatusMessage(props) { const { aliveStatus } = props; const reload = useCallback(() => { location.reload(); }, [history]) const showMessage = !aliveStatus.application || !aliveStatus.session; const text = useMemo(() => { if (!aliveStatus.session) { return { header: i18n(`CMA.ALIVE_STATUS.SESSION_EXPIRED`, 'Sessione scaduta'), messages: [ i18n(`CMA.ALIVE_STATUS.SESSION_EXPIRED.MSG.USER_DISCONNECTED`, 'Utente disconnesso.'), i18n(`CMA.ALIVE_STATUS.SESSION_EXPIRED.MSG`, 'Per riconnettersi premere il tasto "Ricarica" oppure ricaricare la pagina.') ] }; } return { header: i18n(`CMA.ALIVE_STATUS.APPLICATION_DOWN`, 'Applicazione non attiva'), messages: [ i18n(`CMA.ALIVE_STATUS.APPLICATION_DOWN.NOT_AVAILABLE`, 'Applicazione momentaneamente non disponibile.'), i18n(`CMA.ALIVE_STATUS.APPLICATION_DOWN.MSG`, 'La preghiamo di contattare l\'amministratore, oppure ricaricare la pagina.') ] }; }, [aliveStatus]); return ( {text.header}

{text.messages.map((message, index) => ( index === text.messages.length - 1 ? {message} : {message}
))}

{i18n(`CMA.SESSION_EXPIRED.RELOAD`, 'Ricarica')} ); } const mapStateToProps = (state) => ({ aliveStatus: state.account.aliveStatus }) AliveStatusMessage = connect(mapStateToProps)(AliveStatusMessage);