on c19b2a8 help sign in
bridge/src/views/Invite/InviteUrl.js
53 lines 1.5 kB history raw
1import React, { useCallback } from 'react';
2import { Grid, Button } from 'indigo-react';
4import { usePointCursor } from 'store/pointCursor';
6import * as need from 'lib/need';
7import { useLocalRouter } from 'lib/LocalRouter';
8import useInvites from 'lib/useInvites';
10import { ForwardButton } from 'components/Buttons';
11import FooterButton from 'components/FooterButton';
13export default function InviteUrl() {
14 const { names, push } = useLocalRouter();
15 const { pointCursor } = usePointCursor();
16 const point = need.point(pointCursor);
17 const { availableInvites } = useInvites(point);
18 const canInvite = availableInvites.matchWith({
19 Nothing: () => false,
20 Just: p => p.value > 0,
21 });
23 const pushEmail = useCallback(() => push(names.EMAIL), [push, names]);
25 return (
26 <>
27 <Grid className="mt3">
28 <Grid.Divider />
29 <Grid.Item
30 as={Button}
31 detail="Generate a URL to send to one guest"
32 full
33 disabled={!canInvite || true}>
34 Generate Invite
35 </Grid.Item>
36 <Grid.Divider />
37 <Grid.Item
38 as={ForwardButton}
39 onClick={pushEmail}
40 detail="Send invitation to your guest's email"
41 disabled={!canInvite}
42 full>
43 Send Invite via Email
44 </Grid.Item>
45 </Grid>
46 <FooterButton
47 detail="i.e. Ethereum Address, Text File"
48 disabled={!canInvite || true}>
49 Advanced
50 </FooterButton>
51 </>
52 );