on fee879f help sign in
bridge/src/views/Redownload.js
55 lines 1.5 kB history raw
1import React, { useCallback, useState } from 'react';
2import { Just, Nothing } from 'folktale/maybe';
3import * as need from 'lib/need';
4import { Grid } from 'indigo-react';
6import { usePointCursor } from 'store/pointCursor';
7// import { usePointCache } from 'store/pointCache';
9import View from 'components/View';
10import { DownloadButton } from 'components/Buttons';
11import PaperCollateralRenderer from 'PaperCollateralRenderer';
13import { downloadWallet } from 'lib/invite';
14import { ROUTE_NAMES } from 'lib/routeNames';
16import { useHistory } from 'store/history';
17import { useWallet } from 'store/wallet';
18import FooterButton from 'components/FooterButton';
20export default function Admin() {
21 const history = useHistory();
22 const { urbitWallet } = useWallet();
23 const { pointCursor } = usePointCursor();
24 const point = need.point(pointCursor);
26 const [paper, setPaper] = useState(Nothing());
28 const doDownload = () => {
29 downloadWallet(paper.value);
30 };
32 const paperRenderer = Just.hasInstance(paper) ? null : (
33 <PaperCollateralRenderer
34 wallet={{ [point]: urbitWallet.value }}
35 className={'extremely-hidden'}
36 callback={paper => {
37 setPaper(Just(paper));
38 }}
39 mode={'REGISTRATION'}
40 />
41 );
43 return (
44 <View>
45 <DownloadButton
46 disabled={Nothing.hasInstance(paper)}
47 onClick={doDownload}>
48 {Nothing.hasInstance(paper)
49 ? 'Printing and folding...'
50 : 'Download paper wallet'}
51 </DownloadButton>
52 {paperRenderer}
53 </View>
54 );