on fbcd6b6 help sign in
bridge/src/views/Redownload.js
49 lines 1.3 kB history raw
1import React, { useState } from 'react';
2import { Just, Nothing } from 'folktale/maybe';
3import * as need from 'lib/need';
5import { usePointCursor } from 'store/pointCursor';
7import View from 'components/View';
8import { DownloadButton } from 'components/Buttons';
9import PaperCollateralRenderer from 'PaperCollateralRenderer';
11import { downloadWallet } from 'lib/invite';
13import { useWallet } from 'store/wallet';
15export default function Redownload() {
16 const { urbitWallet } = useWallet();
17 const { pointCursor } = usePointCursor();
18 const point = need.point(pointCursor);
20 const [paper, setPaper] = useState(Nothing());
22 const doDownload = () => {
23 downloadWallet(paper.value);
24 };
26 const paperRenderer = Just.hasInstance(paper) ? null : (
27 <PaperCollateralRenderer
28 wallet={{ [point]: urbitWallet.value }}
29 className={'extremely-hidden'}
30 callback={paper => {
31 setPaper(Just(paper));
32 }}
33 mode={'REGISTRATION'}
34 />
35 );
37 return (
38 <View>
39 <DownloadButton
40 disabled={Nothing.hasInstance(paper)}
41 onClick={doDownload}>
42 {Nothing.hasInstance(paper)
43 ? 'Printing and folding...'
44 : 'Download paper wallet'}
45 </DownloadButton>
46 {paperRenderer}
47 </View>
48 );