1import React, { useCallback, useState } from 'react';
2import { Just, Nothing } from 'folktale/maybe';
3import * as need from 'lib/need';
5import { usePointCursor } from 'store/pointCursor';
7import { DownloadButton, RestartButton } from 'components/Buttons';
8import PaperBuilder from 'components/PaperBuilder';
10import { downloadWallet } from 'lib/invite';
11import useKeyfileGenerator from 'lib/useKeyfileGenerator';
13import { useWallet } from 'store/wallet';
14import { Grid, P } from 'indigo-react';
15import ViewHeader from 'components/ViewHeader';
16import { useLocalRouter } from 'lib/LocalRouter';
18export default function AdminRedownload() {
19 const { urbitWallet } = useWallet();
20 const { pointCursor } = usePointCursor();
21 const { pop } = useLocalRouter();
23 const _urbitWallet = need.wallet(urbitWallet);
24 const point = need.point(pointCursor);
26 const { keyfile, filename } = useKeyfileGenerator();
28 const [paper, setPaper] = useState(Nothing());
29 const [downloaded, setDownloaded] = useState(false);
31 const doDownload = useCallback(() => {
32 downloadWallet(paper.value, keyfile, filename);
34 }, [paper, keyfile, filename, setDownloaded]);
36 const goBack = useCallback(() => pop(), [pop]);
41 <Grid.Item full as={ViewHeader}>
44 <Grid.Item full as={P}>
45 After you’ve downloaded your passport, back up the ticket manually or
46 store on a trusted device.
49 <Grid.Item full as={RestartButton} solid onClick={goBack}>
57 disabled={Nothing.hasInstance(paper)}
60 Nothing: () => 'Printing and folding...',
61 Just: _ => 'Download paper wallet',
68 wallets={[_urbitWallet]}
70 setPaper(Just(paper));
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list