import { useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; import { hasExpired } from '../../shared/account-expiry'; import { IReduxState } from '../redux/store'; import ConnectPage from '../containers/ConnectPage'; import ExpiredAccountErrorViewContainer from '../containers/ExpiredAccountErrorViewContainer'; import { useHistory } from '../lib/history'; import { RoutePath } from '../lib/routes'; export default function MainView() { const history = useHistory(); const accountExpiry = useSelector((state: IReduxState) => state.account.expiry); const accountHasExpired = accountExpiry && hasExpired(accountExpiry); const isNewAccount = useSelector( (state: IReduxState) => state.account.status.type === 'ok' && state.account.status.method === 'new_account', ); const [showAccountExpired, setShowAccountExpired] = useState(isNewAccount || accountHasExpired); useEffect(() => { if (accountHasExpired) { setShowAccountExpired(true); } else if (showAccountExpired && !accountHasExpired) { history.push(RoutePath.timeAdded); } }, [showAccountExpired, accountHasExpired]); return showAccountExpired ? : ; }