Skip to content

Commit

Permalink
Updated React Router
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Feb 1, 2023
1 parent 7d95cee commit 0092aae
Show file tree
Hide file tree
Showing 44 changed files with 790 additions and 662 deletions.
78 changes: 7 additions & 71 deletions ui/src/app/App.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,21 @@
import React from 'react';
import {
BrowserRouter,
Navigate,
Routes,
Route,
RouterProvider,
} from "react-router-dom";
import { QueryParamProvider } from 'use-query-params';
import { Provider as HttpProvider } from 'use-http';
import { ReactRouter6Adapter } from 'use-query-params/adapters/react-router-6';
import Button from 'react-bootstrap/Button';

import './App.scss';
import { I18nProvider } from './i18n/context/I18n.provider';
import Footer from './core/components/Footer';
import { UserProvider } from './core/user/UserContext';

import { get_cookie } from './core/utility/get_cookie';

import Dashboard from './dashboard/view/Dashboard';
import Header from './core/components/Header';
import { UserProvider } from './core/user/UserContext';
import { Metadata } from './metadata/Metadata';
import { Attribute } from './metadata/Attribute';
import { NotificationList } from './notifications/component/NotificationList';
import { NewSource } from './metadata/new/NewSource';
import { NewProvider } from './metadata/new/NewProvider';
import { Filter } from './metadata/Filter';
import { Contention } from './metadata/contention/ContentionContext';
import { SessionModal } from './core/user/SessionModal';
import { Roles } from './admin/Roles';
import { Groups } from './admin/Groups';
import { BASE_PATH } from './App.constant';
import { ProtectRoute } from './core/components/ProtectRoute';
import { IdpConfiguration } from './admin/IdpConfiguration';
import { DynamicRegistration } from './dynamic-registration/DynamicRegistration';


import { router } from './App.router';

// import { useBlocker } from './core/hooks/useBlocker';

Expand Down Expand Up @@ -67,55 +51,7 @@ function App() {
<Button variant="primary" onClick={() => window.location.reload()}>Log in</Button>
</SessionModal>
<Contention>
<BrowserRouter basename={BASE_PATH}>
<QueryParamProvider adapter={ReactRouter6Adapter}>
<Header />
<main className="pad-content">
<Routes>
<Route exact path="/" element={<Navigate to="/dashboard" />} />
<Route path="dashboard/*" element={<Dashboard />} />
<Route path="metadata/source/new/*" element={<NewSource />} />
<Route path="dynamic-registration/*" element={
<DynamicRegistration />
} />
<Route path="metadata/provider/new/*" element={
<ProtectRoute redirectTo="/dashboard">
<NewProvider />
</ProtectRoute>
} />
<Route path="metadata/attributes/*" element={
<ProtectRoute redirectTo="/dashboard">
<Attribute />
</ProtectRoute>
} />
<Route path="metadata/provider/:id/filter/*" element={
<ProtectRoute redirectTo="/dashboard">
<Filter />
</ProtectRoute>
} />
<Route path="metadata/:type/:id/*" element={<Metadata />} />
<Route path="roles/*" element={
<ProtectRoute redirectTo="/dashboard">
<Roles />
</ProtectRoute>
} />
<Route path="groups/*" element={
<ProtectRoute redirectTo="/dashboard">
<Groups />
</ProtectRoute>
} />
<Route path="configurations/*" element={
<ProtectRoute redirectTo="/dashboard">
<IdpConfiguration />
</ProtectRoute>
} />
<Route path="*" element={ <Navigate to="/dashboard" />} />
</Routes>
<NotificationList />
</main>
<Footer />
</QueryParamProvider>
</BrowserRouter>
<RouterProvider router={router} />
</Contention>
</I18nProvider>
</UserProvider>
Expand Down
21 changes: 21 additions & 0 deletions ui/src/app/App.root.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import React from 'react';

import { QueryParamProvider } from 'use-query-params';
import { ReactRouter6Adapter } from 'use-query-params/adapters/react-router-6';
import Header from './core/components/Header';
import Footer from './core/components/Footer';
import { Outlet } from 'react-router';
import { NotificationList } from './notifications/component/NotificationList';

export function Root () {
return (
<QueryParamProvider adapter={ReactRouter6Adapter}>
<Header />
<main className="pad-content">
<Outlet />
<NotificationList />
</main>
<Footer />
</QueryParamProvider>
);
}
Loading

0 comments on commit 0092aae

Please sign in to comment.