on 8d566ea help sign in
bridge/src/views/UrbitOS.js
56 lines 1.4 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';
12import NavHeader from 'components/NavHeader';
14import UrbitOSHome from './UrbitOS/Home';
15import UrbitOSNetworkingKeys from './UrbitOS/NetworkingKeys';
16import UrbitOSChangeSponsor from './UrbitOS/ChangeSponsor';
18const NAMES = {
19 HOME: 'HOME',
20 CHANGE_SPONSOR: 'CHANGE_SPONSOR',
21 NETWORKING_KEYS: 'NETWORKING_KEYS',
22};
24const VIEWS = {
25 [NAMES.HOME]: UrbitOSHome,
26 [NAMES.CHANGE_SPONSOR]: UrbitOSChangeSponsor,
27 [NAMES.NETWORKING_KEYS]: UrbitOSNetworkingKeys,
28};
30export default function UrbitOS() {
31 const history = useHistory();
32 const name = useCurrentPointName();
34 const { Route, ...router } = useRouter({
35 names: NAMES,
36 views: VIEWS,
37 initialRoutes: [{ key: NAMES.HOME }],
38 });
40 return (
41 <View pop={router.pop} inset>
42 <NavHeader>
43 <Crumbs
44 routes={[
45 { text: name, action: () => history.pop() },
46 { text: 'Urbit OS' },
47 ]}
48 />
49 </NavHeader>
50 <LocalRouterProvider value={router}>
51 <Grid className="mb4"></Grid>
52 <Route />
53 </LocalRouterProvider>
54 </View>
55 );