diff --git a/src/router/Router.js b/src/router/Router.js deleted file mode 100644 index 096372e0..00000000 --- a/src/router/Router.js +++ /dev/null @@ -1,186 +0,0 @@ -import { useLayout } from '@hooks/useLayout'; -import { useRouterTransition } from '@hooks/useRouterTransition'; -import LayoutWrapper from '@layouts/components/layout-wrapper'; -import BlankLayout from '@layouts/BlankLayout'; -import HeaderLayout from '@layouts/HeaderLayout'; -import HorizontalLayout from '@src/layouts/HorizontalLayout'; -import VerticalLayout from '@src/layouts/VerticalLayout'; -import { lazy, Suspense, useEffect } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { - BrowserRouter as AppRouter, - Redirect, - Route, - Switch -} from 'react-router-dom'; -import * as Actions from '../modules/account/auth/actions'; -import { Routes } from './routes'; -import { useCallback } from 'react'; - -const NotAuthorized = lazy(() => import('@src/views/NotAuthorized')); -const Error = lazy(() => import('@src/views/Error')); - -const Router = () => { - const [layout, setLayout] = useLayout(); - const [transition, setTransition] = useRouterTransition(); - const { isLogin } = useSelector(state => state.authState); - // const isLogin = true; - const dispatch = useDispatch(); - - useEffect(() => { - if (!isLogin) { - dispatch(Actions.check.request()); - } - }, [isLogin]); - - const DefaultLayout = - layout === 'horizontal' ? 'HorizontalLayout' : 'VerticalLayout'; - - const Layouts = { - BlankLayout, - VerticalLayout, - HorizontalLayout, - HeaderLayout - }; - - const currentActiveItem = null; - - const LayoutRoutesAndPaths = layout => { - const LayoutRoutes = []; - const LayoutPaths = []; - - if (Routes) { - Routes.filter(route => { - if ( - route.layout === layout || - (route.layout === undefined && DefaultLayout === layout) - ) { - LayoutRoutes.push(route); - LayoutPaths.push(route.path); - } - }); - } - - return { LayoutRoutes, LayoutPaths }; - }; - - const FinalRoute = props => { - const route = props.route; - let action, resource; - - if (route.meta) { - action = route.meta.action ? route.meta.action : null; - resource = route.meta.resource ? route.meta.resource : null; - } - - if (isLogin === false && !route.meta?.authRoute) { - return ; - } else { - // switch (props.route.path) { - // case '/account/register': - // case '/account/find': - // return ; - // default: - // return ; - // } - - return ; - } - }; - - const ResolveRoutes = useCallback(() => { - return Object.keys(Layouts).map((layout, index) => { - const LayoutTag = Layouts[layout]; - - const { LayoutRoutes, LayoutPaths } = LayoutRoutesAndPaths(layout); - const routerProps = {}; - - return ( - - - - {LayoutRoutes.map(route => { - return ( - { - Object.assign(routerProps, { - ...props, - meta: route.meta - }); - - return ( - - - - - - ); - }} - /> - ); - })} - - - - ); - }); - }, [Layouts]); - - return ( - - - { - return ; - }} - /> - - ( - - - - )} - /> - {ResolveRoutes()} - - - - - ); -}; - -export default Router;