on aee35bb help sign in
bridge/src/components/InputSigil.js
49 lines 866 B history raw
1import React from 'react';
2import * as ob from 'urbit-ob';
4import Sigil from './Sigil';
6const selectColorway = (pass, fail, focused) => {
7 if (pass) {
8 return ['#FFFFFF', '#2AA779'];
9 }
11 if (focused) {
12 return ['#FFFFFF', '#4330FC'];
13 }
15 if (fail) {
16 return ['#FFFFFF', '#F8C134'];
17 }
19 return ['#FFFFFF', '#7F7F7F'];
20};
22export default function ValidatedSigil({
23 className,
24 patp,
25 size,
26 pass,
27 error,
28 focused,
29 ...rest
30}) {
31 const colorway = selectColorway(pass, error, focused);
32 const valid = ob.isValidPatp(patp);
34 return (
35 <div className={className}>
36 {valid ? (
37 <Sigil patp={patp} size={size} colorway={colorway} {...rest} />
38 ) : (
39 <div
40 className="bg-transparent"
41 style={{
42 width: size,
43 height: size,
44 }}
45 />
46 )}
47 </div>
48 );