|
|
@ -4,10 +4,12 @@ import { ThemeProvider } from "@mui/material/styles"; |
|
|
|
import theme from "../theme"; |
|
|
|
import "./globals.scss"; |
|
|
|
import { Provider } from 'react-redux'; |
|
|
|
import store from "@/services/store"; |
|
|
|
import { PersistGate } from 'redux-persist/integration/react'; |
|
|
|
import { store, persistor } from '.././services/store'; |
|
|
|
import AuthGuard from "@/hoc/authGuard/authGuard"; |
|
|
|
import { useRouter } from "next/navigation"; |
|
|
|
import { useEffect } from "react"; |
|
|
|
import { routes } from "constant/route.constant"; |
|
|
|
|
|
|
|
interface RootLayoutProps { |
|
|
|
children: React.ReactNode; |
|
|
@ -21,18 +23,20 @@ function RootLayout(props: RootLayoutProps): JSX.Element { |
|
|
|
|
|
|
|
const token = localStorage.getItem('token'); |
|
|
|
if (!token) { |
|
|
|
router.push('/log-in'); |
|
|
|
router.push(routes.LOGIN); |
|
|
|
} else { |
|
|
|
router.replace('/home'); |
|
|
|
router.replace(routes.PRODUCTS); |
|
|
|
} |
|
|
|
}, [router]) |
|
|
|
return ( |
|
|
|
<html lang="en"> |
|
|
|
<body> |
|
|
|
<Provider store={store}> |
|
|
|
<AppRouterCacheProvider> |
|
|
|
<ThemeProvider theme={theme}>{children}</ThemeProvider> |
|
|
|
</AppRouterCacheProvider> |
|
|
|
<PersistGate loading={null} persistor={persistor}> |
|
|
|
<AppRouterCacheProvider> |
|
|
|
<ThemeProvider theme={theme}>{children}</ThemeProvider> |
|
|
|
</AppRouterCacheProvider> |
|
|
|
</PersistGate> |
|
|
|
</Provider> |
|
|
|
</body> |
|
|
|
</html> |
|
|
|