on master help sign in
fix: rename to formatters, auto-downcase pat fields
commit80fec93ed837527676a07133829f9633abc7c70c authorMatt Condon (shrugs) <mattgcondon@gmail.com> dateTue 6 Aug 2019, 21:32 (7 years ago) parentbdc5c92
5 files changed+25−8
src/form/Inputs.js+10−3 src/lib/transformers.js → src/form/formatters.js+11−1 src/indigo-react/components/Input.js+2−2 src/lib/useImpliedPoint.js+1−1 src/lib/useImpliedTicket.js+1−1
src/form/Inputs.js+10−3
@@ -2,7 +2,12 @@ import React from 'react';
22import { Input, AccessoryIcon } from 'indigo-react';
33import { useField } from 'react-final-form';
44
5−import { prependSig, convertToNumber } from 'lib/transformers';
5+import {
6+ prependSig,
7+ convertToNumber,
8+ buildFormatter,
9+ downcase,
10+} from 'form/formatters';
611import { DEFAULT_HD_PATH } from 'lib/wallet';
712import InputSigil from 'components/InputSigil';
813
@@ -16,6 +21,8 @@ const PLACEHOLDER_PRIVATE_KEY =
1621 '0x12345abcdee6beb2f323fab48b432925c9785808d33a6ca6d7ba00b45e9370c3';
1722const PLACEHOLDER_EMAIL = 'Email Address';
1823
24+const formatPat = buildFormatter([downcase, prependSig]);
25+
1926export function TicketInput({ name, ...rest }) {
2027 const {
2128 meta: { valid, error, validating, touched, active },
@@ -43,7 +50,7 @@ export function TicketInput({ name, ...rest }) {
4350 <AccessoryIcon.Success />
4451 ) : null
4552 }
46− config={{ format: prependSig }}
53+ config={{ format: formatPat }}
4754 mono
4855 {...rest}
4956 />
@@ -103,7 +110,7 @@ export function PointInput({ name, size = 4, ...rest }) {
103110 />
104111 ) : null
105112 }
106− config={{ format: prependSig }}
113+ config={{ format: formatPat }}
107114 mono
108115 {...rest}
109116 />
src/lib/transformers.js → src/form/formatters.jsrenamed+11−1
@@ -1,4 +1,6 @@
1−// import { fill } from './lib'
1+import { compose } from 'lib/lib';
2+
3+export const buildFormatter = (formatters = []) => compose(...formatters);
24
35export const prependSig = (s = '') =>
46 s.length && s.charAt(0) !== '~' ? `~${s}` : s;
@@ -11,6 +13,14 @@ export const convertToNumber = s => {
1113 }
1214};
1315
16+export const downcase = s => {
17+ if (!s) {
18+ return s;
19+ }
20+
21+ return s.toLowerCase();
22+};
23+
1424// const hideAllButLast = s => {
1525// const ll = s[s.length -1];
1626// const bs = fill(s.length - 1, '•')
src/indigo-react/components/Input.js+2−2
@@ -85,8 +85,8 @@ export default function Input({
8585 {
8686 'b-green3': valid,
8787 'b-black': !valid && active,
88− 'b-yellow3': !valid && !active && touched && error,
89− 'b-gray2': !valid && !active && !touched && !error,
88+ 'b-yellow3': !valid && !active && touched,
89+ 'b-gray2': !valid && !active && !touched,
9090 }
9191 )}
9292 id={name}
src/lib/useImpliedPoint.js+1−1
@@ -1,6 +1,6 @@
11import * as ob from 'urbit-ob';
22
3−import { prependSig } from './transformers';
3+import { prependSig } from 'form/formatters';
44
55/**
66 * pull the suggested point from the subdomain
src/lib/useImpliedTicket.js+1−1
@@ -1,6 +1,6 @@
11import * as ob from 'urbit-ob';
22
3−import { prependSig } from './transformers';
3+import { prependSig } from 'form/formatters';
44
55/**
66 * pull the suggested ticket from the #hash in the url