import React, { useEffect } from 'react'; import { Redirect, Route, Switch } from 'react-router-dom'; import PropTypes from 'prop-types'; import reduxConnect from '../redux/utils/connect'; import LoadersAdvanced from '../components/common/Loader/Loader'; import i18n from '../i18n'; import { Slide, ToastContainer } from 'react-toastify'; import UnauthenticatedRoute from './UnauthenticatedRoute'; import AuthenticatedRoute from './AuthenticatedRoute'; import usePageTracking from '../components/common/hooks/usePageTracking'; import { getIP, setIP } from '../common/helper'; function AppRoutes(props) { usePageTracking(); const { common: { auth, base } } = props; const authIsPending = auth.isAuthPending; useEffect(() => { const { actions } = props; actions.handleErrors(); actions.refreshLogin(); if (!getIP()) { setIP(); // set IP to use when submit HubSpot form } //Set active language after load const activeLang = i18n.language.slice(0, 2); actions.chooseLanguage(activeLang); }, []); return (
{authIsPending && } {!authIsPending && ( )}
); } const CloseButton = ({ closeToast }) => ( ); CloseButton.propTypes = { closeToast: PropTypes.func.isRequired }; AppRoutes.propTypes = { common: PropTypes.object.isRequired, actions: PropTypes.object.isRequired, children: PropTypes.object }; export default reduxConnect('common', ['common'])(AppRoutes);