import { Suspense, lazy } from "react"; import { Route, Routes } from "react-router-dom"; import { CrudRoute, menuItems } from "./Routes"; import { Spin } from "antd"; import { hasAbility } from "./utils/hasAbility"; import { renderRoutesRecursively } from "./Components/Routes/RenderRoutesRecursively"; import { RenderRouteElement } from "./Components/Routes/RenderRouteElement"; import { UserTypeEnum } from "./enums/UserType"; import { RoleByType } from "./utils/RoleByType"; const Page404 = lazy(() => import("./Layout/Ui/NotFoundPage")); const Auth = lazy(() => import("./Pages/Auth/Page")); const App = () => { return ( }> } /> }> } /> {renderRoutesRecursively(menuItems)} {CrudRoute.map((route) => { const useAbility = hasAbility(route.abilities, route.abilities_value); if (!RoleByType(route)) { return false; } if (!useAbility) { return false; } return ( ); })} ); }; export default App;