on d760cbf help sign in
bridge/src/views/Admin.js
64 lines 1.6 kB history raw
1import React from 'react';
2import { Grid } from 'indigo-react';
4import { useHistory } from 'store/history';
6import useCurrentPointName from 'lib/useCurrentPointName';
7import useRouter from 'lib/useRouter';
8import { LocalRouterProvider } from 'lib/LocalRouter';
10import View from 'components/View';
11import Crumbs from 'components/Crumbs';
13import AdminHome from './Admin/AdminHome';
14import AdminEditPermissions from './Admin/AdminEditPermissions';
15import AdminRedownload from './Admin/AdminRedownload';
16import AdminReticket from './Admin/AdminReticket';
18const NAMES = {
19 HOME: 'HOME',
20 EDIT_PERMISSIONS: 'EDIT_PERMISSIONS',
21 REDOWNLOAD: 'REDOWNLOAD',
22 RETICKET: 'RETICKET',
23};
25const VIEWS = {
26 [NAMES.HOME]: AdminHome,
27 [NAMES.EDIT_PERMISSIONS]: AdminEditPermissions,
28 [NAMES.REDOWNLOAD]: AdminRedownload,
29 [NAMES.RETICKET]: AdminReticket,
30};
32export default function Admin() {
33 const history = useHistory();
34 const name = useCurrentPointName();
36 const { Route, ...router } = useRouter({
37 names: NAMES,
38 views: VIEWS,
39 initialRoutes: [{ key: NAMES.HOME }],
40 });
42 return (
43 <LocalRouterProvider value={router}>
44 <View inset>
45 <Grid className="mb4">
46 <Grid.Item
47 as={Crumbs}
48 routes={[
49 {
50 text: name,
51 action: () => history.pop(),
52 },
53 {
54 text: 'Admin',
55 },
56 ]}
57 full
58 />
59 </Grid>
60 <Route />
61 </View>
62 </LocalRouterProvider>
63 );