-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathApp.tsx
80 lines (77 loc) · 2.16 KB
/
App.tsx
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import React from 'react';
import { Navigate, Outlet, Route, Routes } from 'react-router-dom';
import { Form, FormFirstPage } from 'src/components/form/Form';
import { PresentationComponent } from 'src/components/presentation/Presentation';
import { NavigateToStartUrl, ProcessWrapper } from 'src/components/wrappers/ProcessWrapper';
import { Entrypoint } from 'src/features/entrypoint/Entrypoint';
import { InstanceProvider } from 'src/features/instance/InstanceContext';
import { PartySelection } from 'src/features/instantiate/containers/PartySelection';
import { InstanceSelectionWrapper } from 'src/features/instantiate/selection/InstanceSelection';
import { CustomReceipt, DefaultReceipt } from 'src/features/receipt/ReceiptContainer';
import { TaskKeys } from 'src/hooks/useNavigatePage';
import { PresentationType } from 'src/types';
export const App = () => (
<Routes>
<Route element={<Entrypoint />}>
<Route
path=':pageKey'
element={
<PresentationComponent type={PresentationType.Stateless}>
<Form />
</PresentationComponent>
}
/>
<Route
index
element={<FormFirstPage />}
/>
</Route>
<Route
path='/instance-selection/*'
element={<InstanceSelectionWrapper />}
/>
<Route
path='/party-selection/*'
element={<PartySelection />}
/>
<Route
path='/instance/:instanceOwnerPartyId/:instanceGuid/*'
element={
<InstanceProvider>
<Outlet />
</InstanceProvider>
}
>
<Route
path=':taskId/*'
element={<ProcessWrapper />}
/>
<Route
path={TaskKeys.ProcessEnd}
element={<DefaultReceipt />}
/>
<Route path={TaskKeys.CustomReceipt}>
<Route
path='*'
element={<CustomReceipt />}
/>
</Route>
<Route
index
element={<NavigateToStartUrl />}
/>
</Route>
{/**
* Redirects from legacy URLs to new URLs
*/}
<Route
path='/partyselection/*'
element={
<Navigate
to='/party-selection/'
replace={true}
/>
}
/>
</Routes>
);