import { FC, useContext, useEffect } from 'react'; import { Route, Routes, Navigate, useLocation } from 'react-router-dom'; import { useSnackbar, VariantType } from 'notistack'; import { useI18nContext } from 'i18n/i18n-react'; import { Authentication, AuthenticationContext } from 'contexts/authentication'; import { RequireAuthenticated, RequireUnauthenticated } from 'components'; import SignIn from 'SignIn'; import AuthenticatedRouting from 'AuthenticatedRouting'; interface SecurityRedirectProps { message: string; variant?: VariantType; signOut?: boolean; } const RootRedirect: FC = ({ message, variant, signOut }) => { const authenticationContext = useContext(AuthenticationContext); const { enqueueSnackbar } = useSnackbar(); useEffect(() => { signOut && authenticationContext.signOut(false); enqueueSnackbar(message, { variant }); }, [message, variant, signOut, authenticationContext, enqueueSnackbar]); return ; }; export const RemoveTrailingSlashes = () => { const location = useLocation(); return ( location.pathname.match('/.*/$') && ( ) ); }; const AppRouting: FC = () => { const { LL } = useI18nContext(); return ( } /> } /> } /> } /> ); }; export default AppRouting;