Files
doormile_console_expresscopy/src/App.js

56 lines
1.4 KiB
JavaScript

// project import
import Routes from 'routes';
import ThemeCustomization from 'themes';
import Locales from 'components/Locales';
import ScrollTop from 'components/ScrollTop';
import Snackbar from 'components/@extended/Snackbar';
import Notistack from 'components/third-party/Notistack';
import { useNavigate } from 'react-router';
import { useEffect } from 'react';
import { generateToken, initFirebaseNotificationListener } from 'firebase_notification/notification';
import InternetStatus from 'components/updateNetworkStatus';
import useInactivityLogout from 'hooks/useInactivityLogout';
// ==============================|| APP - THEME, ROUTER, LOCAL ||============================== //
const App = () => {
const navigate = useNavigate();
useEffect(() => {
if (!localStorage.getItem('authname')) {
navigate('/login');
}
}, [navigate]);
const AppContent = () => {
useInactivityLogout();
useEffect(() => {
generateToken();
initFirebaseNotificationListener();
}, []);
return (
<>
<Routes />
<Snackbar />
</>
);
};
return (
<>
<ThemeCustomization>
<InternetStatus />
<Locales>
<ScrollTop>
<Notistack>
<AppContent />
</Notistack>
</ScrollTop>
</Locales>
</ThemeCustomization>
</>
);
};
export default App;