forked from HL7-DaVinci/crd-request-generator
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathApp.jsx
More file actions
49 lines (46 loc) · 1.8 KB
/
App.jsx
File metadata and controls
49 lines (46 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { ThemeProvider } from '@mui/material';
import React, { useEffect } from 'react';
import { BrowserRouter, HashRouter, Route, Routes } from 'react-router-dom';
import Gateway from '../containers/Gateway/Gateway';
import Index from '../containers/Index';
import Launch from '../containers/Launch';
import PatientPortal from '../containers/PatientPortal';
import RegisterPage from '../containers/register/RegisterPage';
import theme from '../containers/styles/theme';
import { SettingsContext } from '../containers/ContextProvider/SettingsProvider';
import { actionTypes } from '../containers/ContextProvider/reducer';
const isGhPages = process.env.VITE_GH_PAGES.trim() === 'true';
const Router = isGhPages ? HashRouter : BrowserRouter;
const redirect = isGhPages ? '/request-generator/#/index' : '/index';
console.log('redirect: ' + redirect);
const App = () => {
const [, dispatch] = React.useContext(SettingsContext);
useEffect(() => {
dispatch({
type: actionTypes.updateSetting,
settingId: 'redirect',
value: redirect
});
}, []);
return (
<Router>
<Routes>
<Route path="/launch" element={<Launch redirect={redirect} />} />
<Route path="/index" element={<ThemeProvider theme={theme}><Index/></ThemeProvider>} />
<Route path="/register" element={<RegisterPage />} />
{/* forcibly enter backoffice workflow */}
<Route path="/index/backoffice" element={<ThemeProvider theme={theme}><Index backoffice={true}/></ThemeProvider> } />
<Route
path="/patient-portal"
element={
<ThemeProvider theme={theme}>
<PatientPortal />
</ThemeProvider>
}
/>
<Route path="/" exact element={<Gateway redirect={redirect} />} />
</Routes>
</Router>
);
};
export default App;