on 368f024 help sign in
bridge/src/views/Point/UrbitID.js
65 lines 1.6 kB history raw
1import React from 'react';
3import { useHistory } from 'store/history';
5import useRouter from 'lib/useRouter';
6import { LocalRouterProvider } from 'lib/LocalRouter';
8import View from 'components/View';
9import L2BackHeader from 'components/L2/Headers/L2BackHeader';
11import UrbitIDHome from '../UrbitID/Home';
12import SigilGenerator from '../UrbitID/SigilGenerator';
13import DownloadKeys from '../UrbitID/DownloadKeys';
14import SetProxy from '../UrbitID/SetProxy';
15import ResetKeys from '../UrbitID/ResetKeys';
16import Transfer from '../UrbitID/Transfer';
18const NAMES = {
19 HOME: 'HOME',
20 SIGIL_GENERATOR: 'SIGIL_GENERATOR',
21 DOWNLOAD_KEYS: 'DOWNLOAD_KEYS',
22 SET_PROXY: 'SET_PROXY',
23 RESET_KEYS: 'RESET_KEYS',
24 TRANSFER: 'TRANSFER',
25};
27const VIEWS = {
28 [NAMES.HOME]: UrbitIDHome,
29 [NAMES.SIGIL_GENERATOR]: SigilGenerator,
30 [NAMES.DOWNLOAD_KEYS]: DownloadKeys,
31 [NAMES.RESET_KEYS]: ResetKeys,
32 [NAMES.SET_PROXY]: SetProxy,
33 [NAMES.TRANSFER]: Transfer,
34};
36export default function UrbitID() {
37 const history = useHistory();
39 const { Route, ...router } = useRouter({
40 names: NAMES,
41 views: VIEWS,
42 initialRoutes: [{ key: NAMES.HOME }],
43 });
45 const onBack = () =>
46 router.peek().key === NAMES.HOME ? history.pop() : router.pop();
48 return (
49 <View
50 pop={onBack}
51 inset
52 hideBack
53 header={
54 <L2BackHeader
55 hideBalance={router.peek().key === NAMES.HOME}
56 back={onBack}
57 />
58 }
59 className="urbit-id">
60 <LocalRouterProvider value={router}>
61 <Route />
62 </LocalRouterProvider>
63 </View>
64 );