From e61f861f1fc4e238c46354b363abb084458cb6db Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Thu, 29 Mar 2018 11:31:45 +0200 Subject: [PATCH] device select with webusb button --- src/images/favicon.ico | Bin 608 -> 856 bytes src/images/favicon.png | Bin 608 -> 856 bytes src/images/{icontrezor.png => trezor-1.png} | Bin src/images/{T.png => trezor-T.png} | Bin .../wallet/aside/DeviceSelection.js | 181 ++++++++++++++---- src/js/reducers/TrezorConnectReducer.js | 2 +- src/styles/aside.less | 66 ++++++- src/styles/inputs.less | 50 +++++ src/styles/landingPage.less | 50 +---- 9 files changed, 260 insertions(+), 89 deletions(-) rename src/images/{icontrezor.png => trezor-1.png} (100%) rename src/images/{T.png => trezor-T.png} (100%) diff --git a/src/images/favicon.ico b/src/images/favicon.ico index 238201fd81eea91520e802c5807dc3e1386485c0..a1b20e0a2698c47a454a5143ad4adb622c828eba 100644 GIT binary patch delta 833 zcmV-H1HSy=1lR_UB!2;OQb$4nuFf3k0009LNklF|82`SRl}*>m)gmaw z8D`owHdEM39yHHU7Bk`s@MoBRp2TxrQ|ICf&p|@F!97S zRGGs~@rLO4eEyjythR;%5Np_Smx6Rl0xcq-TSdjE>uPF@zatZUXebfVAc^k&y3eQ)f1AD;G^sB(wpcjA=J^EyS?xmGZ zvGa&&%jQ z0JQrZykiujHqY}kf+OnC*~#l=bT9w_;h0o)$&m$eWq(u|QOD?}2>2p0y`gFSYjOtL z*JvUZ9OoG6=Xse&)A@IJw7XK1w0p5?Bazo1EGx_FU0RCJXwifQ^E>?(uc!lAJ3Hq0 z4RZv3pTEj)H~?u6ly4EAq5{+9@+uMrN2w>8t5}p&p#Ug=x9IW_e&a!bO-(n+CJ?}e zAHgPo&3_7PR^b1r06nV7;o;%XU{k47BV9tff-WmpAO1B&oT6E9G+I}8JCn)$kOemk zqZy0EA$o^T({maVZ2tH)WGu-Xc4N7)U>mxAKAB9e&3>k7rf7B?$D)&^Vf1WSasi3R zNGo7!+D$6X33^OwM01Wq$kRWfF{(-{*&QK`G=G-sL8JSuqQLQK+kVAGD3KMN5{bkf zXJusw92j80>iv#kcmnqkK^fiF6u&buF|i`^sR+O`Zfk3cFBJ-BsI-H$)4(Cq^`pcu z8K@(cZ9SAt&|d74EzeY=J3BjTzs=2^qAB?tHJK)}rNmE2e%Z?9p3C$ySzrbHPCY$6 zkviF#nSN@>3k1fU`-^nQ_f^CZI^%bK`+v&s)Ag2gIxS4i>rMC*MR4emM>5j400000 LNkvXXu0mjfaf*;Z delta 583 zcmV-N0=WIy2H*scB!3BTNLh0L01ejw01ejxLMWSf0000WV@Og>003>600482007@F z004iD004dd007i+001)T0012^rEzIF0005zNklitFbrK@E~>%_<|qs5YI3b z$MNT?qj<8$(5Y%S>U;$&G>?%%d!UbLybU&kpNalxp?`z**p{$X6HN&3u^kIF1V0TU ze950-zsnbDrhKl7Q_FwGP{2^YP(W1yTW}idD)^4#1a?-6oO2j;a}JbmxQ8QHl?c

*00~HGz!-)gUJWd%}_Yv4LZF1~+kNkXvyFC&QceYLL$2 z0nQ}vlt4@UGunW&c!VDrr1N-!^Py=gWjh-1?|3VY<5F|82`SRl}*>m)gmaw z8D`owHdEM39yHHU7Bk`s@MoBRp2TxrQ|ICf&p|@F!97S zRGGs~@rLO4eEyjythR;%5Np_Smx6Rl0xcq-TSdjE>uPF@zatZUXebfVAc^k&y3eQ)f1AD;G^sB(wpcjA=J^EyS?xmGZ zvGa&&%jQ z0JQrZykiujHqY}kf+OnC*~#l=bT9w_;h0o)$&m$eWq(u|QOD?}2>2p0y`gFSYjOtL z*JvUZ9OoG6=Xse&)A@IJw7XK1w0p5?Bazo1EGx_FU0RCJXwifQ^E>?(uc!lAJ3Hq0 z4RZv3pTEj)H~?u6ly4EAq5{+9@+uMrN2w>8t5}p&p#Ug=x9IW_e&a!bO-(n+CJ?}e zAHgPo&3_7PR^b1r06nV7;o;%XU{k47BV9tff-WmpAO1B&oT6E9G+I}8JCn)$kOemk zqZy0EA$o^T({maVZ2tH)WGu-Xc4N7)U>mxAKAB9e&3>k7rf7B?$D)&^Vf1WSasi3R zNGo7!+D$6X33^OwM01Wq$kRWfF{(-{*&QK`G=G-sL8JSuqQLQK+kVAGD3KMN5{bkf zXJusw92j80>iv#kcmnqkK^fiF6u&buF|i`^sR+O`Zfk3cFBJ-BsI-H$)4(Cq^`pcu z8K@(cZ9SAt&|d74EzeY=J3BjTzs=2^qAB?tHJK)}rNmE2e%Z?9p3C$ySzrbHPCY$6 zkviF#nSN@>3k1fU`-^nQ_f^CZI^%bK`+v&s)Ag2gIxS4i>rMC*MR4emM>5j400000 LNkvXXu0mjfaf*;Z delta 583 zcmV-N0=WIy2H*scB!3BTNLh0L01ejw01ejxLMWSf0000WV@Og>003>600482007@F z004iD004dd007i+001)T0012^rEzIF0005zNklitFbrK@E~>%_<|qs5YI3b z$MNT?qj<8$(5Y%S>U;$&G>?%%d!UbLybU&kpNalxp?`z**p{$X6HN&3u^kIF1V0TU ze950-zsnbDrhKl7Q_FwGP{2^YP(W1yTW}idD)^4#1a?-6oO2j;a}JbmxQ8QHl?c

*00~HGz!-)gUJWd%}_Yv4LZF1~+kNkXvyFC&QceYLL$2 z0nQ}vlt4@UGunW&c!VDrr1N-!^Py=gWjh-1?|3VY<5 { } } - const onClick = (item, device) => { - if (props.onClick) + const onClick = (event, item, device) => { + if (props.onClick) { + event.preventDefault(); + event.stopPropagation(); props.onClick(item, device); + } } let deviceStatus: string = "Connected"; - let css: string = "device"; + let css: string = "device-select device"; + if (props.opened) css += " opened"; + if (props.disabled) css += " disabled"; + + const deviceMenuItems: Array = []; - // deviceMenuItems.push("settings"); if (device.unacquired) { css += " unacquired"; @@ -49,9 +55,13 @@ const Value = (props: any): any => { deviceMenuItems.push("forget"); } + if (device.features && device.features.major_version > 1) { + css += " trezor-t"; + } + const deviceMenuButtons = deviceMenuItems.map((item, index) => { return ( -

onClick(item, device) }>
+
onClick(event, item, device) }>
) }); const deviceMenu = deviceMenuButtons.length < 1 ? null : ( @@ -60,12 +70,13 @@ const Value = (props: any): any => { ); + const handleOpen = () => { + if (props.disabled) return; + props.opened ? props.onClose() : props.onOpen(); + } + return ( -
+
{ device.instanceLabel } { deviceStatus } @@ -73,11 +84,13 @@ const Value = (props: any): any => {
{ deviceMenuButtons }
+
+
); } -export const DeviceSelect = (props: any): any => { +export const DeviceSelect1 = (props: any): any => { const { devices } = props.connect; const selected = findSelectedDevice(props.connect); @@ -97,7 +110,8 @@ export const DeviceSelect = (props: any): any => { return (