1import React, { useState } from 'react';
2import * as bip39 from 'bip39';
4import InputSigil from 'components/InputSigil';
6import { DEFAULT_HD_PATH } from 'lib/wallet';
13} from 'lib/validators';
14import { prependSig } from 'lib/transformers';
15import useForm from 'indigo-react/lib/useForm';
17// const RequiredInput = advancedInput({
18// WrappedComponent: Input,
19// validators: [validateNotEmpty],
22// const NetworkKeyInput = advancedInput({
23// WrappedComponent: Input,
24// validators: [validateNotEmpty, validateNetworkKey],
27// const NetworkSeedInput = advancedInput({
28// WrappedComponent: Input,
29// validators: [validateNotEmpty, validateNetworkSeed],
32// const AddressInput = advancedInput({
33// WrappedComponent: Input,
34// validators: [validateEthereumAddress, validateNotEmpty],
37const firstOf = state => state.inputs[0];
39export function usePassphraseInput(props) {
45 placeholder: 'Passphrase',
52const kExampleMnemonic = bip39.generateMnemonic();
53const kMnemonicValidators = [validateMnemonic, validateNotEmpty];
54export function useMnemonicInput(props) {
60 placeholder: `e.g. ${kExampleMnemonic}`,
61 validators: kMnemonicValidators,
68export function useHdPathInput(props) {
74 placeholder: `e.g. ${DEFAULT_HD_PATH}`,
81// const GalaxyInput = advancedInput({
82// WrappedComponent: Input,
83// validators: [validateGalaxy, validateNotEmpty],
84// transformers: [prependSig],
87const kTicketValidators = [validateTicket, validateNotEmpty];
88const kTicketTransformers = [prependSig];
89//TODO needs to be fancier, displaying sig and dashes instead of •ing all
90export function useTicketInput({ initialValue = '~', ...rest }) {
95 placeholder: '~master-ticket',
96 validators: kTicketValidators,
97 transformers: kTicketTransformers,
106const kPointValidators = [validatePoint, validateNotEmpty];
107const kPointTransformers = [prependSig];
108export function usePointInput({ initialValue = '~', ...rest }) {
109 const [lastValidPoint, setLastValidPoint] = useState('');
110 const input = firstOf(
114 placeholder: 'e.g. ~zod',
115 validators: kPointValidators,
116 transformers: kPointTransformers,
119 onValue: setLastValidPoint,
125 const { pass, focused, error } = input;
129 accessory: lastValidPoint && (
131 patp={lastValidPoint}
142const kEmailValidators = [validateEmail, validateNotEmpty];
143export const buildEmailInputConfig = extra => ({
146 validators: kEmailValidators,
151// const TicketInput = advancedInput({
152// WrappedComponent: Input,
153// validators: [validateTicket, validateNotEmpty],
154// transformers: [prependSig],
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