@@ -0,0 +1,55 @@
1+import React, { useCallback, useState } from 'react';
2+import { Just, Nothing } from 'folktale/maybe';
3+import * as need from 'lib/need';
4+import { Grid } from 'indigo-react';
5+
6+import { usePointCursor } from 'store/pointCursor';
7+// import { usePointCache } from 'store/pointCache';
8+
9+import View from 'components/View';
10+import { DownloadButton } from 'components/Buttons';
11+import PaperCollateralRenderer from 'PaperCollateralRenderer';
12+
13+import { downloadWallet } from 'lib/invite';
14+import { ROUTE_NAMES } from 'lib/routeNames';
15+
16+import { useHistory } from 'store/history';
17+import { useWallet } from 'store/wallet';
18+import FooterButton from 'components/FooterButton';
19+
20+export default function Admin() {
21+ const history = useHistory();
22+ const { urbitWallet } = useWallet();
23+ const { pointCursor } = usePointCursor();
24+ const point = need.pointCursor(pointCursor);
25+
26+ const [paper, setPaper] = useState(Nothing());
27+
28+ const doDownload = () => {
29+ downloadWallet(paper.value);
30+ };
31+
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+ );
42+
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+ );
55+}