UNPKG

@fakel/rest-admin

Version:

An application that makes it easier to work with your API

34 lines (33 loc) 1.65 kB
import { observer } from 'mobx-react'; import React, { useEffect } from 'react'; import { Route, Switch } from 'react-router-dom'; import { v4 as uuidv4 } from 'uuid'; import { LoginPage } from '../../pages'; import { useCurrentResource } from '../../hooks/useCurrentResource'; import { createResourceRouter } from '../Resource/ResourceRouter'; import { createDefaultResource } from '../Resource/DefaultResource'; import { useResourceStore } from '../../hooks'; import { useAuthStore } from '../../hooks/useAuthStore'; import { useAuthProviderStore } from '../../hooks/useAuthProviderStore'; var AdminRouter = observer(function (_a) { var customRoutes = _a.customRoutes, customLoginPage = _a.customLoginPage, defaultView = _a.defaultView; var resourceStore = useResourceStore(); var authStore = useAuthStore(); var authStoreProvider = useAuthProviderStore(); var authProvider = authStoreProvider.authProvider; var currentResource = useCurrentResource().currentResource; var defaultResource = resourceStore.getFirstResource(); useEffect(function () { if (authProvider) { authProvider.checkAuth().then(function (isAuth) { authStore.setIsAuth(isAuth); }); } }, [authStore.isAuth]); return (React.createElement(Switch, { key: uuidv4() }, React.createElement(Route, { key: uuidv4(), exact: true, path: "/login", component: customLoginPage || LoginPage }), createResourceRouter(currentResource), createDefaultResource({ defaultView: defaultView, defaultResource: defaultResource }), customRoutes)); }); export default AdminRouter;