on 404abcb help sign in
bridge/src/components/InputSigil.js
40 lines 737 B history raw
1import React from 'react';
2import * as ob from 'urbit-ob';
4import Sigil from './Sigil';
5import AspectRatio from './AspectRatio';
7const selectColorway = (pass, fail, focused) => {
8 if (pass) {
9 return ['#FFFFFF', '#2AA779'];
10 }
12 if (focused) {
13 return ['#FFFFFF', '#4330FC'];
14 }
16 if (fail) {
17 return ['#FFFFFF', '#F8C134'];
18 }
20 return ['#FFFFFF', '#7F7F7F'];
21};
23export default function InputSigil({
24 className,
25 patp,
26 size,
27 pass,
28 error,
29 focused,
30 ...rest
31}) {
32 const colorway = selectColorway(pass, error, focused);
33 const valid = ob.isValidPatp(patp);
35 return valid ? (
36 <Sigil patp={patp} size={size} colorway={colorway} margin={0} {...rest} />
37 ) : (
38 <AspectRatio aspectRatio={1} />
39 );