From 71aca3405de066a1aa100919fdb1fb627e25e7a0 Mon Sep 17 00:00:00 2001 From: Min Htet Oo Date: Mon, 1 Jul 2024 18:32:29 +0800 Subject: [PATCH] fix: copy the active wallet on click --- package-lock.json | 5 +- package.json | 22 +++--- public/static/images/wallet.png | Bin 3229 -> 7493 bytes src/common/contexts/provider.tsx | 2 - .../useEndorsementChain.integration.test.tsx | 2 +- .../ActionSelectionForm.test.tsx | 4 +- .../ActionSelectionForm.tsx | 64 ++++++++++-------- 7 files changed, 52 insertions(+), 47 deletions(-) diff --git a/package-lock.json b/package-lock.json index a81a003f4..33304a7b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "react-redux": "^7.2.4", "react-router-dom": "^5.2.0", "react-timer-hook": "^3.0.7", - "react-tooltip": "^4.2.21", + "react-tooltip": "^4.5.1", "redux": "^4.1.0", "redux-saga": "^1.1.3", "swiper": "8.4.2", @@ -22266,8 +22266,7 @@ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "extraneous": true, "os": [ - "darwin", - "linux" + "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" diff --git a/package.json b/package.json index 8d165eb18..ab8d72b66 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "blockchain:contracts:synpress": "node --experimental-modules ./tests/e2e/setup-contracts.mjs", "blockchain:contracts:testcafe": "node --experimental-modules ./src/test/setup-contracts-testcafe.mjs", "build": "run-s build:sitemap check-types build:css build:app", - "build:dev": "cross-env NODE_ENV=production npm run build", + "build:dev": "cross-env NODE_ENV=development npm run build", "build:test": "cross-env NODE_ENV=test NET=local npm run build", "build:prod": "cross-env NODE_ENV=production NET=mainnet npm run build", "build:css": "postcss src/tailwind.css -o src/index.css", @@ -21,7 +21,7 @@ "credits": "npx @opengovsg/credits-generator && npx mdpdf ./CREDITS.md ./public/static/common/credits.pdf", "dev": "run-p dev:*", "dev:css": "npx tailwindcss -i ./src/tailwind.css -o ./src/index.css --watch", - "dev:serve": "sleep 2 && cross-env NODE_ENV=production webpack serve", + "dev:serve": "sleep 2 && cross-env NODE_ENV=development webpack serve", "integration": "testcafe chrome src/**/*.spec.ts", "integration:single": "testcafe chrome -L", "integration:testcafe:prod": "testcafe --config-file \".testcaferc-prod.json\"", @@ -80,7 +80,7 @@ "react-redux": "^7.2.4", "react-router-dom": "^5.2.0", "react-timer-hook": "^3.0.7", - "react-tooltip": "^4.2.21", + "react-tooltip": "^4.5.1", "redux": "^4.1.0", "redux-saga": "^1.1.3", "swiper": "8.4.2", @@ -127,6 +127,7 @@ "compression-webpack-plugin": "^6.1.1", "concurrently": "^6.2.0", "copy-webpack-plugin": "^6.4.1", + "crypto-browserify": "^3.12.0", "css-loader": "^5.2.6", "cypress": "^13.7.1", "cypress-file-upload": "^5.0.8", @@ -147,8 +148,11 @@ "identity-obj-proxy": "^3.0.0", "jest": "^26.6.3", "jest-environment-jsdom-sixteen": "^2.0.0", + "magic-sdk": "^10.0.0", "nodemon": "^2.0.7", "npm-run-all": "^4.1.5", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", "postcss": "^8.4.6", "postcss-cli": "^8.3.1", "prettier": "^2.3.1", @@ -157,23 +161,19 @@ "shelljs": "^0.8.5", "sitemap": "^7.1.1", "storybook": "^8.0.4", + "stream-browserify": "^3.0.0", "style-loader": "^2.0.0", "tailwindcss": "^3.0.23", "testcafe": "^2.3.0", "ts-jest": "^26.0.0", + "ts-node": "^10.9.2", "typescript": "^4.3.2", + "vm-browserify": "^1.1.2", "wait-on": "^5.3.0", "webpack": "^5.91.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.0.4", - "webpack-env": "^0.8.0", - "stream-browserify": "^3.0.0", - "os-browserify": "^0.3.0", - "vm-browserify": "^1.1.2", - "crypto-browserify": "^3.12.0", - "path-browserify": "^1.0.1", - "magic-sdk": "^10.0.0", - "ts-node": "^10.9.2" + "webpack-env": "^0.8.0" }, "engines": { "node": "18.x", diff --git a/public/static/images/wallet.png b/public/static/images/wallet.png index 7523080d8be5936d6d9253184b00470b3e3cc563..867ed7bf6e350384580bd490b98b0863b1f2bf06 100644 GIT binary patch literal 7493 zcma)Bc{o&U*niHMGpoT^hioHLlwzb^%o$l<$r2G^w4vT?Ez~P>h7_eJDU~uwXhTU9 zF_u!4gd~)aL_}0}W4_UKeb@Kz_s=}{bMD{$ySL|g&U3CwaNcYyOIbhx0La?gS-AoL zOGOxvaMGbVoB2{YAORdl4ge35WM=*G(m8a%)z%W^HE4d9PJEm<|s;a8D(suBe zR_i|Xcn8f4w*|so>JNN1f_MA4Y~1ik5VF!}>6hCdw@MvQ54vvN0{EYv1YYXlXkOUy z=|cR zfjk*&@=EB~3p`A}mZY)`vrSNSem!YhoX--r9x;2g3< zcFh&5`<*J60X4fUkyBj94nn*P%!5(76fAlOwl zS^x1O0cMIIy*Xxg0^O zLkN?}jSmd7B~s;s8}rJtfay0$ofAWeL4yD*e^ZEb!7Ov?OPX#@4tq?mv$bO zd@p{>ra0n-x5GZ;t~dL!C3g4V3+fDf$kphT{im&C!5DP}4Xgfc8`N}3W(W^(S;Fop zkE>I*uDa-D$kq8Wclv4r`;<0}L9QY*aiFVrr8OvHF!9%$lWd9>ANosnwmFF{`Ifm2 zJ4%QYltfDlyqSOkGbtBK-0(Xo%L`laS1$jZl$ik{Id&9k^Uw7X12u%jLg(dm61!9I zBujV`7q`ZI9>oEE1e6~-{p_0#J{GJd*zx_RKYi0lxC#O%H#yAn`bts7^QBPB?h2ZF z_uL7aZCSe{_jlN^6bK=+Rr)o%O$XCz1@W76Qo$QjdDL#0z27SdJ^RO(woO-|-W|=b{>ELnq{BDb5 zFImENHCUALOKGa7>=f7xM<%jC=uwaJXtvL-H_Gk zPwYqzObWlb{s#q<9wni`eru^Jw{5N)^r@#MLU#!TubVXAAzo*pt0zGLF9<5x2JI_I zgH{jeB(5d0v~byqpt@p%wmzRya=8#Z+$-sa-r>E@@&jLk)@{VvAO6Yj)o6;C%gkFp zQri2_!d=keAsutZQ?$c`TPuagf7IY)??8RQ)*&`eFED*o*qZau#s7scxZtmR1$3CO zhUCGv263Tz*dmo19*tU5eLNm;$@gOzV6#UEUT@Ie2%_cN=b?|A=8%-IBVcRY$i6qPx zZv@=dH|LeNVLmg&o!wo}uO{+yUjXI#ur#DpvFE9b(*YGn73;6$O{1645j z5v-9_r431YQ=0e@-j_@Vmml-~V2_`oHP}IdRrR?1_J**>l|F57=I$9=`83l88_(EW zeA_&TP$~rpK<0j_BCvoABA!qgQiC$nc7#F5S|)rb#s#L0e6=L5g{w>nM-t#HWc3T7W)yvwo%t&b>U-Hv83$`k+$Y(vld=qRDK6nxe2oe3KZ}WJK#!UnVS{mp?BCCXHS|VLU|h=k;PTsE^Ce z7S7%8x$Xr-+E*9+wVrH|b}jovXJ0^fKjpR4#=t;Oc&rg;5kV&nZ!x8TZ==Jnu7c$3 zJp$ayB*U=l8L^9=U)(4-f)@~#hhfL-h*jpH)$&J$eLrE3%oi}@cP#ij32E^KyGoU; z-q_)T4PKG^0Y!-^kM9OEdwqxq=eaYD61i$5Y_~b831e%B~rz7xX@6|;%m@)iA9@mqy8lz{LYhjjG&V)x<%-GJ< z8UyZQm8emt0Eq(wg4)dK+8ICntjHwHUyY_k6o;*@yM`d#GL;QS2S??Dnfl=AYnycz zXK>7EwP?sw{JiaS@n@VsOs8Q}2fBL-H$nTPG-)AtTjHi#;Xl|GaKV3KyV`h&gxPNc z!z?ycGvix?E?rR-*cGZbbUMX;?O@Z?5pJosJ{byDnS^O8cseKhIG^^%x@1dXoR{=uE_oS`i(4AoZ9{6fQbf z0Dct5*oJ(VyM#_7+~H&0^pK)C!*diUjZL@cNR*f*kTKzwM=`dir+9kTVAfQ5L2(Xd zbu~U57S2=&DipWAoBJ3BsJO!e@@M~X;>oT9o8l<~9>SzYsin_T1chVcPM;y+ zo6Tar$Kh$i<(Qoc(`=0B`{8@OBM~)h>mn-$N}g+hnbI9SNS)v*;kzsVFW+$1a5dVHmEp|Y*gMp3v^^Mzb3mlR-d zoONqvp$e{ji1*BTZC)lx&`MVh8C+Jmtx%l5WMNpwdnlB%!Y1_3`cg@+_QT%Q#@Ivs zxQ;ufgtIdm?D%Pf7OBioAQfTR@lcs65{}|1_6ilX&{TY%CBW;H}4L4fCjoA(d<9@x3ohr77cZHKHjH2~M zf^p@qO6coaKbC_p$mALB!K))t=6-SyoJ(M(x_i99(8C(*Of`7ruPO3yJW~Z54XuSh z`p2W?WpiG7*abVK9$lWe^4y_8+`?yaj5}|p^G2S#k5-k8aaxRl^kgu+rv|p2;AoD9 zEDBTwzl%&X_z|g*t9yu6dk{tl6d5S=;)x7vpRI5y0x>J_Sg5xeL6~m(ww0K*4Y*9a z|Frcn1Tg$k<|?MYy}POQRL z99PVWzn-sKLrnr-^YdpLg{3DZAHR^#jE33@K;p?n`LRft~5#04ef4nTAKWUUj|;5N zHH5&>EzGUBz(0Swxu(kAALf?*Gk~W>D1Z|xaq27+jx)B0D3D0Hy!-s2i99X)>E;t>9(L(PId+RhsNu&M;ATHwife$8Wf#B1N207wHT4LYOsh z`!6hgEGI~waEuJ%-{E3xAf){j5OVxr%x+9O)Q|GEUH$Vm&kqDCNT;kE0d9lP#6(Ef z#ZUMVS-)vg!ni45^*aFC?K)iRL`cQtn;lM9`39yJLn=IjRmN&>-F}T#Kcc&JL-l^W zwZX4F%v$!EMsWe}SG31=o@i_lh=24B7hJzaIQsN?E&Y+`bk~RbV@b`yRB4$T7t5DO zmcpKFWl(G8&?W3!lx(*N5TB8O49FOqookp`gd6Pi0)xf8g8qB##x#Iw{{jc2D~hoi zeeB0zVRXTE32W$8?plZo3EHN5%ZjCK(l*7tH24#nfKWlYvOajcfb_hMcU+Ad8Cq%CcoAvRJqi_Gg{9-wXFB$;1aT!9o7>>&E(Z8h|#(vAgW4 zj6RVXG<01dbEg73J3<{6Chk=f>?l<(tui|*^dbTsb>WQprV495gmHpk%(K&|H*e$` z2k2IUhu1@@waBA)RzYZ6fnTFa6`Z>b5y(Wn{jYq53m*dcDf@+x!ciR!*_;}MkVmviMFNSUh z5)Oq70j27=cowOQ!YKK#7f*AOzA8@T!!MP_$P7x<2`j>;^??rp5hR_It0WYxhR|I! ztOQqMPn=)uEo4-*mAQi3WO>i8$Y3G%>)K1xen-$4+MA&ErQ;!xJE{a~rg!iA4qQYw z$O^8jmG~*%9Zpj=k)mks>p=A}Qn+h601n1mE%xeT_9~~8fE58EtqfJr5u9`hgRz18 zN`FY)rswty2)Vd9N$OdBfgiC!fetJ%$>Oi3LZ|ll)P3};YtbQVA-E7AWZm9)8Z4|f zC*52pt*snXW3O}b8v;^GbKK==>cO0}6zS}oH<+z0NlyAjUAt+)ZSUD!OOW!9%^Nbv zECG8>)4yb$PZ>Z!CM-~e(=KGLhtTxB&LR-zT9<1EVPzmY=d0UhFjHfMCAs`&*yV#{ zP&FdMW!g0LW@M!&Zycq6k#ml~R|t|*!hap2)YRTRAQ!oVxqUBb3%&`CzqCNnBs`qg zBisk6Am>%kPap2yXP+4kp=P;5d;>Wf1j|NW)}Q=fe+yzj!n<2# zP&t_k1=Dv^nx>nRpDEa_S4qyTi+_$d-=9VAMG{%0z3Iq^^K}l`&ePN&Wu(T|Gkjgg zEUnauxp&z3Yh$)B7Hf%bk#tNL=mMA%0JtOs_dwAy_C9Tbj&{271kJ$L=d6CJDlK<2 zbmJj0{wkAre9%uDuDtsX9=Wpxy^nKisd(r3TOSZOaVbEo^a&R5GMm6lh;`mZMv&;~ zVzmddso+n+YMk~y(hSolwv~uE$#U2)8cD8Zb6}C?gUnOZ_JltQSEyj4 zz?0y-_p#0-p0*^oh$qOO`)aX+d5FSDRwyDd9+!5ZE67+ix;q8DHx$@_v9TQHe$a~m zeMlzPEBPqYBH6vG#D}j-Qy2ULx#eRo2f_YfRfrKrB?Zb`Rxejrm;)?+ch5%DOM{fF zTgGrXXRriod)Q~sOa)wlkDa6Wxgq`O2UTAlg(`RFS5)}m*yUrX+I65F7 zbAEa!>4Fx**&CARk|f5dK$x!cdK}92Ov}xmV}<}>s=9p=zLButEZ@IQRPx4Zfg&gy zZ~^?G#i5e*##hrS@;;9DmDHnG6hW+DmYJOE3x&;jRca0nI@z}aEJ8({!G#_vwEP(V zy-#amV0w$|7D?=k@*};3fc-ljiw7OC+aF~St0btBKd$$P4wRD%#Dl0EZKn_r zt13fsyM^@{=C0z~sRZ7Z+{HDWXCim0!{`wVhEP|U|s=1WXr%tp>A9mK}Up1rqYs4UxDPa}~? zo8h4Urg)=8x*v)ckeONpR*BOAXMgB+_H4+9eA%gA<9^XKdnitb8g3C# z_P?B1Gg5+B>VlQBd^Mz3pa1B_Y!sZEjCPM_oj|8Jw5$OwMafe3r1ZtSN-;T)eFEJb z%dm5YNd~-~kcc6$fvX@4p{XH;+rwvuYfaG7SZo0~D+bE72PkEki2vy=6O0g6O9LIq zUknNDeW9Si;o5c1_47F90{}iRd5a~JxgFAnw0aI|1QEhcYvEw0FRIC_e?*7wH^L}n zWOTY&r2UnVhdtUq(W8d#lY2ciDgbbhBVf_UPVkMAnIe*48Gn2GKhh;)-ws!u`1CfE zip5H8ca3?NAu%37_~TW>UG9M0RX3YkV&b@wLEwC}$1E6kEqY8qq~Y(;<}b;|WwFkl zMCQMcN^by7ICkF#wlA5}FNV&$qwUVoXLo|vd=*8z@cETC${@jrvq6Q0^imSn;cAY= za9Uwk>!~og8Wu4)86`a&;~nxIVcx+mJR2G%`B~wUb>tU<8b#p?M*JJahrjAcfC#Np zeCc*Sf`sV1$dKkca+<=pgj$M=^nseaE3|DY4*8qIam3}W4h-?d`p^ZQ%+I9=AT!ml zY3b(X$k?s@ovH%92`OaJMP{hCy4_}o+}l;vS>j(auW596?LzC%FbJ*IGMK* z7)a=SCu93*fxWDev6V+BPP6kQNo4@Fp33Kyu+^RNEjJ3zaYk5?QN^WFsiyVk%76cql%)c_{L5Hr@Ompm_}X7ML!25ge{ zi4C^|*nY)HO3gRnpkGv&PWMT3E0K>%bzXUfsjsBE2cDdIrq0&Ih;>PmlC-e3cC!3m zC;2&*r3>e#{j@g_CXeiYITL$8ROBoXH*rH#%T~-pUp7v15XlU5#s5qq0p3=(wN2;; znsnEcXRLxnDO(r=UCxkvDmzK?P(kw#6Q~`r5!4C)n5rJg{aR zMhb!GkrdMQ>%Af956286v&20XOf}79HN?+k;DhNNyh{)8a8{5|gG4^K&D5LG?uMj; zB$1a3@AJl(533g_kBFNt(`aHe z>XPC0@fy};wd(A!2;?e+x6mWg_tZd)~!NA1X1Bun^^ z=&`NKxE6>GV}{k^0qdE8o*7$)6pSS(X|0xsLaEM(T2S_Q_D@xAel-G8aND7o5f9$3 zsBqaOljT|Dmnq8=&aMnRy6xnTc#qR$k|2DhFQ{?cw0q{MT7K1R_sTCPt6zy7k`o{* zPb=s}xtN`K744ea@W;0xgy;X2SoI)(y5b{J{zv7*iJu)6^SWbl3?G{uT-;d9ld8slE^d4qJ-0uRw=%1Pm(%?H;QDKu|DQw42v7Z|cZ0<~ T>Qd=HlEB`2vsIoYH|Bo;{^Z9} literal 3229 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 diff --git a/src/common/contexts/provider.tsx b/src/common/contexts/provider.tsx index c924b5376..7d3bf70f5 100644 --- a/src/common/contexts/provider.tsx +++ b/src/common/contexts/provider.tsx @@ -158,8 +158,6 @@ export const ProviderContextProvider: FunctionComponent { () => { expect(result.current.endorsementChain).toBeTruthy(); }, - { timeout: 80000 } + { timeout: 60000 } ); }); expect(result.current.endorsementChain).toEqual([ diff --git a/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.test.tsx b/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.test.tsx index 8de9265c9..1021051a4 100644 --- a/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.test.tsx +++ b/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.test.tsx @@ -28,11 +28,11 @@ const defaultProps = { }; describe("ActionSelectionForm", () => { - it("should display the non-editable beneficiary & holder", async () => { + it("should display the account number for active wallet", async () => { await act(async () => { const container = render(); const activeWalletComponent = container.getByTestId("activeWallet"); - const holderText = within(activeWalletComponent).getByText("0xa61B056dA0084a5f391EC137583073096880C2e3"); + const holderText = within(activeWalletComponent).getByText("0xa61B...C2e3"); expect(activeWalletComponent).not.toBeNull(); expect(holderText).not.toBeNull(); }); diff --git a/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.tsx b/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.tsx index f47934b81..aa6cf0e88 100644 --- a/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.tsx +++ b/src/components/AssetManagementPanel/AssetManagementForm/FormVariants/ActionSelectionForm/ActionSelectionForm.tsx @@ -4,12 +4,13 @@ import { OverlayContext, showDocumentTransferMessage, } from "@tradetrust-tt/tradetrust-ui-components"; -import React, { FunctionComponent, useContext } from "react"; +import React, { FunctionComponent, useContext, useRef, useState } from "react"; import { TagBorderedLg } from "../../../../UI/Tag"; import { AssetInformationPanel } from "../../../AssetInformationPanel"; import { AssetManagementActions } from "../../../AssetManagementActions"; import { AssetManagementDropdown } from "../../AssetManagementDropdown"; import { EditableAssetTitle } from "./../EditableAssetTitle"; +import ReactTooltip from "react-tooltip"; interface ActionSelectionFormProps { onSetFormAction: (nextFormAction: AssetManagementActions) => void; @@ -50,6 +51,9 @@ export const ActionSelectionForm: FunctionComponent = setShowEndorsementChain, isTitleEscrow, }) => { + const [tooltipMessage, setTooltipMessage] = useState("Copy"); + const tooltipRef = useRef(null); + const canManage = canHandleShred || canHandleRestore || @@ -74,25 +78,18 @@ export const ActionSelectionForm: FunctionComponent = ); // there is 2 type of errors that will be handled here, 1st = NO_METAMASK (error thrown from provider.tsx), 2nd = NO_USER_AUTHORIZATION (error from metamask extension itself). }; - const handleWalletInfoClick = async () => { - const { ethereum } = window as any; - if (ethereum) { + const handleActiveWalletClicked = async () => { + if (account) { try { - await ethereum.request({ method: "eth_requestAccounts" }); - - await ethereum.request({ - method: "wallet_requestPermissions", - params: [ - { - eth_accounts: {}, - }, - ], - }); - } catch (error) { - console.error("User rejected the request or an error occurred", error); + await navigator.clipboard.writeText(account); + setTooltipMessage("Copied!"); + ReactTooltip.hide(tooltipRef.current!); + setTimeout(() => { + ReactTooltip.show(tooltipRef.current!); + }, 0); + } catch (err) { + console.error("Failed to copy: ", err); } - } else { - console.error("MetaMask is not installed"); } }; @@ -104,6 +101,7 @@ export const ActionSelectionForm: FunctionComponent = handleMetamaskError(error.message, error.code); } }; + return ( <>
@@ -148,17 +146,26 @@ export const ActionSelectionForm: FunctionComponent =
{account ? ( -
- Wallet Icon -
-

Active Wallet

-
{`${account}`}
+ <> +
setTooltipMessage("Copy")} + ref={tooltipRef} + data-tip={tooltipMessage} + data-for="active-wallet-tooltip" + onClick={handleActiveWalletClicked} + data-testid="activeWallet" + className="w-44 px-4 py-1 ml-auto flex items-center bg-gray-100 text-gray-800 rounded-lg shadow cursor-pointer hover:bg-gray-200 transition duration-300 ease-in-out select-none" + > + Wallet Icon +
+

Active Wallet

+
{`${account.slice( + 0, + 6 + )}...${account.slice(-4)}`}
+
-
+ ) : ( <> )} @@ -198,6 +205,7 @@ export const ActionSelectionForm: FunctionComponent =
)} + tooltipMessage} /> ); };