on ebdf08c help sign in
bridge/src/views/UrbitOS.js
61 lines 1.6 kB history raw
1import React, { useState } 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 const [manualNetworkSeed, setManualNetworkSeed] = useState();
42 return (
43 <View pop={router.pop} inset>
44 <NavHeader>
45 <Crumbs
46 routes={[
47 { text: name, action: () => history.pop() },
48 { text: 'Urbit OS' },
49 ]}
50 />
51 </NavHeader>
52 <LocalRouterProvider value={router}>
53 <Grid className="mb4"></Grid>
54 <Route
55 manualNetworkSeed={manualNetworkSeed}
56 setManualNetworkSeed={setManualNetworkSeed}
57 />
58 </LocalRouterProvider>
59 </View>
60 );