on d760cbf help sign in
bridge/src/views/Admin/Reticket/ReticketVerify.js
47 lines 1.3 kB history raw
1import React, { useCallback, useMemo } from 'react';
2import { Input, Text, Grid } from 'indigo-react';
4import { ForwardButton } from 'components/Buttons';
6import { useTicketInput } from 'lib/useInputs';
7import { useLocalRouter } from 'lib/LocalRouter';
8import { validateExactly } from 'lib/validators';
9import { isDevelopment } from 'lib/flags';
11const STUB_VERIFY_TICKET = isDevelopment;
13export default function ReticketVerify({ newWallet }) {
14 const { push, names } = useLocalRouter();
16 const ticket = newWallet.value.wallet.ticket;
17 const validators = useMemo(
18 () => [validateExactly(ticket, 'Does not match expected master ticket.')],
19 [ticket]
20 );
21 const [ticketInput, { pass }] = useTicketInput({
22 name: 'ticket',
23 label: 'New master ticket',
24 initialValue: STUB_VERIFY_TICKET ? ticket : undefined,
25 autoFocus: true,
26 validators,
27 });
29 const goExecute = useCallback(() => push(names.EXECUTE), [push, names]);
31 return (
32 <Grid gap={4} className="mt4">
33 <Grid.Item full as={Text}>
34 Verify New Master Ticket
35 </Grid.Item>
36 <Grid.Item full as={Input} {...ticketInput} />
37 <Grid.Item
38 full
39 as={ForwardButton}
40 solid
41 disabled={!pass}
42 onClick={goExecute}>
43 Verify & Reticket
44 </Grid.Item>
45 </Grid>
46 );