From 21545b9ecec617bad920a9f41ad25048bec554bb Mon Sep 17 00:00:00 2001 From: Alexandr Kazachenko <shoom3301@gmail.com> Date: Sat, 11 Nov 2023 00:39:23 +0600 Subject: [PATCH] fix(widget): polish configurator (#3380) * chore: update configurator favicon * chore: fix trade types title * chore: fix widget url * chore: fix reactExample * chore: fix theme auto mode --- apps/widget-configurator/index.html | 2 +- apps/widget-configurator/public/favicon.ico | Bin 15086 -> 0 bytes apps/widget-configurator/public/favicon.png | Bin 0 -> 13828 bytes .../app/configurator/controls/ThemeControl.tsx | 13 +++++++++---- .../configurator/controls/TradeModesControl.tsx | 2 +- .../src/app/embedDialog/utils/reactExample.ts | 2 +- libs/widget-lib/src/urlUtils.ts | 13 +++---------- 7 files changed, 15 insertions(+), 17 deletions(-) delete mode 100644 apps/widget-configurator/public/favicon.ico create mode 100644 apps/widget-configurator/public/favicon.png diff --git a/apps/widget-configurator/index.html b/apps/widget-configurator/index.html index f4a56a3f48..ebad766ec3 100644 --- a/apps/widget-configurator/index.html +++ b/apps/widget-configurator/index.html @@ -5,7 +5,7 @@ <title>CoW Swap: Widget configurator</title> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, width=device-width" /> - <link rel="icon" type="image/x-icon" href="/favicon.ico" /> + <link rel="icon" type="image/x-icon" href="/favicon.png" /> </head> <body> <div id="root"></div> diff --git a/apps/widget-configurator/public/favicon.ico b/apps/widget-configurator/public/favicon.ico deleted file mode 100644 index 317ebcb2336e0833a22dddf0ab287849f26fda57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 X*GBfq^a!*Sks)$E_17kl@BRM)`^nwN diff --git a/apps/widget-configurator/public/favicon.png b/apps/widget-configurator/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..cce0b10541f1a1d590e0d7fda7254ad806498039 GIT binary patch literal 13828 zcmdtJc{o&W_&EHWGm9|>gTYv0EHR;sC0pXy_nIuFY(onvMXO{vb|Go^NoBN12<;LX zRFpzlQdve6rBK<od5_QM`u*PPcfHs5z23jyxvu-1`?<I0zMt(p+niu;a1bTSlK}vt zPL8(j01z>h2=F-UWzD<ljlJk>S5G^EK=Asz;NklpnYSA@MO;+2K1|TwDQMaJ(kT52 zCIcOE-{1j|Z(X|pSbNFI*2*&y`q^Wb@Y#`0WNSa@<QrXnxcgq1`@K=4I}Q78kH#ei zzBF{1>s@Dae#GI}pVp!+8Fp>aUHe?9k3JXdmifD7Qr&wp>Z8eY|D(4btD4OhYA(lg zCHW=%m`wGX#SLGw`!yjICN(Y=-McXIJ$3Zw*T%R7k%blm)~5l%H>oVk2e&5arv$1- zQ?=5Cz0o@1$=WQrv%0191>P<rxeSL7CQIeV^s<J7kKN%bSGJj%&cz=wn#mKu#^FZ8 z4t$Y^$_dKx#>S_X`aOTAhUA)=F2wKCSg@iSGCGV2``%S<5EJCDXcdi&9_hDy&{lh+ zhH${6U-xEB_sO$X=i<oSr#*)9LV}wu-*uk#_gEUrx^pG28w@EMBMYY#_zP0OUl*>c zb?OGljEZW0i%T;a`M5At+O0NRP<=^obZJbkC&OvKr?SZNeT|-DP1T7_P8+LM?|4V` z0Csww5a}k@L6W27y2S-OO>#k<4y!;KpFD+TlvG4pA$xfa0qo`tSgY?w0cm^07+GD6 z@DZwKvv0!kR;$|`%Gn|vusu~BSTDoMVJDT;BRMkk1cnR95xz&rWH^FzRtAU&cnem8 z!CHOJ!r{!-^ugLOk%`WmO00KTljvQgW5Lg~Ch}s-C7I6o&fG{iT3AAGHCU9`!&=We zR6oIM75xkN!sGuRAkve=DVPE*TBro&IAj!mSN<EsJ5nwLHli*0Qu&j5Cf8Q%NywMm zMTXy&j~w5^;fjTF3zLfCuSpgWow=LIna+jsOs#wwh$W>(u$PY}gmN=YMK8c=|3W9h z-q@R*Y3MCW-(60l+q?_7D1nNsV!h``P=gq5Kqut{O7fVOC%?+FL+Gg$XNoe3zA@VT z-EyK8R7iy=`7cNeTjP`Hj{gs^P1?R}=4@-1h=K6QWr1o|-g7(34uz{Ek3O90$6i?p zr_MPab;HDm@lJ<JN$I=FjacOTbS^VVE8!Zoh?H(!=trknyCnpvPWZ{KHp#);NpeZ) z>O4jK8E}xAladWnub+jfVOj*n$0s!4g#HItz$#z{xr0pHM*_oYB$4R||AZOB<zlYf z>Sc+;oahyf3YmyU80$<-v1rQX97X!pawGb-z)zfz<lTu91J+`hcUYe}Nk0a8jR{}> z4|pE(ztV55rG~q)uB!S;$M7C!p4TPvNZj?pZB^=Pgs4J#XiSO^B-t^}#na+Rp4xCe z<pwE9KU<Z0Y)T`ZO?1aw%Qc$OkC}~dyvZK_CE}aCtTqX)C8wGdYB7&(^I~7?DB>0- z79~jj=pyh4Y{JU+UY!tqvHyrE*X~OwpWLPZP6Dr1-yhsHU=8oSBx&js2*Gy|NiS|% z(9HtpIQhd9wbwR{B<4#^RoEunUM6mIQ8#%kp0auTsid%&d~FC}4?gu;2gzQ$Vn@OT zH52*6e+a0ohRPYewZf+}2L?sJ(B>~^Blgjla>uVDuT1C!=V1Eq@gvPQtHW|n)b$<i z!@bxlyQBNCQ>*_Lm9)d>*}jjzeH922dnFXI6wm52oUi}2==l(tB%4z&H~0kXc(9W= z=w;x<T`QL@w{ArWT=9L?j*|XYPrtvH(_cs|Dj3R+hs|&4j;B@TuE~{GVh-*js|?%^ zWV@>k-V>c6@ul-t@o066x((>YvO6i`c`wK_nPuz^??b7jDbWpqt(p@i=#MpP`B2%c z>$6+nRHl6D49ic0AohD-6g+#nt<`FWd76|2Fn`?U!9<mbD{=muHn)onY4!M(D`ro? zNh=d`Yz`^}uce`~fNSPdT-(;cMg<$62Y>{zx2yfX?fR3Axsa(Q<@`Q02Zo`gSgQSz z8JTHS3+UK0b4aD8YJ!ou9z{jBs7*T2Hzt+~>s*r^M`eXS)egqP(bDn+L$(OImTeAs zLr~FKiTJI!<cVkrIZs4CXk4sJV%QaG6r+0LzV9^i0PaX@zA5KfGmYoAqxr(7Y1K=B z0;$xSLv#pLu==odeCtIxdj)>QB{h%&$kh2aNoNmS(ZeUf*_&L<43FkmSsY^mImY+a z%Ypav_OBeMsXQ@}lXxb`z$2UqK019e5C<OPs!*fM{fe(aOw^G~B17`Lg-1j}PGj0X zhk{hm{d=+rFdJy9!T8fx;cTUB52L*o1A=KN+$ao1^&hr}8q2Z|hKhli73bg^x8?cI zZNW2<0^mRjR|{V456B1^6EwT>2Gd}gO7NOoA=0-2OsG%zI>1vsO!lt=1n<|t^sr5Q z(pN<S7buvz<bx&*30IB!bUB#|`b#C=TlQ=M<nkP)AZx@5Vj|lhBh_z}rlJmz(lP4& zuqZMDWl12;q%KS<dmB3Ku8MB?2Oc*?&(TWm0y~I_$|5ft&O%j~?g8j>=C&-DjUoU# zIPtkj28Dl4cW!=pPDA&;Wuwbkh3%nxatmDMe%U&bT8Gqlv3=WoKD^ASG7N}qDl%K} za7U}}xD`Z@l51W$dwkwi^9(pU;vH3a0S?~(^!pTco6oAOLVPaD|9$1QGq-VNb|$s8 zObZ!lDgS53%gPh5_w@+Mv3<E~E&=_}p&sWEdRUmgqRr;DTUH}`#x?Y}hsoLiITfx+ zHMlNXHukmfwcl;9-H$<ha(BLsTrR;9mbF4VFH!Uwe@T;Bo$|lgvpzw!I7Ys7=fIAw zyY`MqN__PEpn=?xxKb5b*+$~4Kd43LuN&9c?`SW0q5*xfR@>2$%ZIXC$)B(Cw#WU^ zWE|b1#&ft~`_IkViqte(iIfQIle?PAk5Mx`ovf}|cIh0<6b@r?eLSZ_)HTOS5!7F8 z$6^LIHHmh4pY+o3#+H{SWVtVeUuj?b_H)4sQJ@UJ-?Hek>0~$*dLuYO&yfFMRpeeD zOU<e2xJ?Dm$vQimM_a;!Mr}pd+X<c>I#k9^?Y+@E{q3s*n|Ip|svA7A-%c3Ci;T-@ z=exGO=w27TYQEr!X<dRv>5ERz%5zfM$SLVfFE{AMzv$K&%e@r(5B_r+?42mRX+t4M zd|5OsyGP~Zp)2U)2{%~^rNPH$Pq}{Xh5|t794f~V-bY)VpsE_5cWEc^o*EvG!&{`$ z_)@A8aW2wGg6Sph(Q}{TSI8VZJ1m}sN-+^{aOW5DxGL6vGw#<2<#*#=*=o3Meti12 z!DZ2+vzk1aU^`agvy2$WkCJ!w+}g)P0*&{VxLlTg`~^Q8aU|#4YPkFAx7#+6`|Z~I zk18MTFfs7dbVFA+Q@u=ekq1WaIqrgLA$r6EU@>)7&bSU!%9`2!5U9T3KeFAHnK2dL z|5A1-*h$j`)45oMr>-PECY-tccUM$%VFab%`RoC0XB2`XZuKlFC3mlQ25j@qoZ#pL z#K<WlkD%*dFB)&+1k<PvkuGB{moJF>%{=#18p8{-5XIW|&Wbu2Pp@<0l#=+R7v$lS z9zFxXB?+O?8Gahm2k=Zr7phXfZEz`0_l$xboSB`W=Pj|*Ic=w!J*rf5|7e4K>1Q@A zr6+;W`UH0ue}UJnz<3;-x#SYQa7Om3>C=U0N=p*DYnav}Yjmi*8r^NCq{Zt8MJW#3 z!7dJ-L)75=DWGfVkeU=~!*$nz`1Ik=LgOvPl51>80P@D2`$7ZaD}jkB<heS*3NSzp zOhSOPaySt}0RqOC?m}n)7#9Jt5KonY2QawU&yO4y(PMxa574L7E4(yMSdt~-L0H_$ zVVoX`JJu2rxc=`vW{Pfc+Ey*k@sBlt+P0`lpkw#}t!!{L^}Z1(=D?+&KuLmd#U5Na zS%dRXh$FR`r&MBzE~@gBbfi%`0C|9oFE=Tm7gdE#Fd-6y?@VZo6eDZPAbrUpbRS?s z5XG}2DR>79(11*s5U>E#fg<kf-B6fC7}7i924<(f1Ww_z<FqBSt^(KEW4`O5!M^mQ zryA&jOCSpqDBzp-u7`3G{+dKB>qJcAIkJ}<{G`xTCa3Q1fgAhMQa=8hxUUI{%gslZ zzYE7QJCu<nd&5r7>~czRJ>;GIby<_txP4Lxdm6xlI2L{|Vq%#zP$bNwW;b}Rh3N2~ zoTnPV22skp3jTbE=a>G==~|2VB#dI&s4!05*F+aGYRg06M!`C2)loNaHU7`c1fI_@ zJcX$W<sZw$d`oOK&&pfD`!I5pj~O>$D{X&Bq(%}Gp7`KMib-`JrI1)TN--9rKK<K1 zQO5W#)@3a2ym(FrRuun<UB=a7VoP$Q%~&A?Gjg7;MR}&w%a|*eSji>urv+hQxzDb9 z7mg{_NQrL$?{)CQzb2N&m2cKByIy9)yM;Ne1x7Uq<9%ht0E-b_I7~9ZO0Nw5*H$qw zIkE@D*StzzW@&-m<rke2jM?`BnO>N?l$0l!_^I0PX`$>s;&yzqP_}Yne~B=oMl=Ph z&BlQAlol+Ka7pq}CvYsTnlsu!9G^@m)&QFM$Ciuf*h@~ckPu(}+})+%F|iOTF@c#D zY9fLU2e9J-VtH#xobbbUhkB!OT$e^`j3|JR^Wg?mF1!*o1ZMeHt&c!laDN1tq?jh` zgu*Fm;9qntM*T|w1S&!Uy7eRgX#9(GH^AgoL0m}(0N5wgPz^vs0N{f4A%Kl49TLU9 zivS>yBmhhlfN&EbDTDxqI50r%v*nqfN`#GDwumil$t;C`b;tW0F>cHASs5yb*4Q8- z2L7>5k~jQUAA#@y6tlJ2pdw|J6+qz<1Y!v~6pUG*u~w1=%*7wU1l~gD`i5vCI8ZLl z1SQrhIpF!W{BNcpI}t<w6&vIjbAWG^?4rp>(?m6*6(fBLNYk|tN1WAOhBM()oQRyb zFFpCA$5QixAvHYu=XQZc|6CQV=J4nz)TS$bt1wz*-j(DVYP#*r%Y?z8Qt^WUumJ}G z3uWxwT!qj2+Q%1d_TA8*t+8me1`|opn!b|Ywj`u$|B-BSHB=8!aIVoNcZ_D!*`U-5 zmEe&;3N$)fZgw_3_V}&73b#y93D^li->pxKS>->CKlrVMXND2Jgt+lVRdOAKn;cF8 z2^7au0?q7Ai?HiQHx*!}-q`Mb=K-nfaY%C#><Mx4uL``xPMPj4f30z6oR9_-!IHS@ z`+?Eb-%9dV;Xy#cbIp#UaLwWrG)3bQfphkqzC!mzU+BuC#k)s|uTIoE)1M`Z3USYr zPt)}F1S9^MDnaWxhsCG{F^i9*+S@%}iZ8k=JPr_Ovg0j|3gTR*q~yS#;DjC84-*VS z3_5!6O%Rc5y_!C^<Fs-Xd!IbkQIrE(V)mA=?yst8q6tcfC{m*pa9iA?yzXZ1-u+w8 zKwLGE!^7{j!lsVCne&RoAr3O>TYiM^hm|zCeL8o5!bWSCjoXAHUB$X+bb#afoD|$} z*OTsbt+;n#2N-U&mbG;j?s7HpXI4Skn{+*zivkXf#$CHFgW~|wqfai!%#)`rOYKiU zEWj)&@cox-wnq=!T{(O<*0Z{>TVQ)~S+@1_IYH6*wF3f|^XPgxFgv;Zb#-XrA^-cK z?O3)9Pmj`$eD`B-$8{c?;gDMMy;e7}(d4{8=c*@&=%r&hXTN$_JwI^fQZXHnGsAEH zp4!&0c|~`fK4^DM+Vh=!lMxi{HL+41GXx)Zl7;4-#J!bXfmR!yd;f>UtC}%g3-J_S zw<-I&O3cq^Ime#<{qv-<RcdPd{?2c)V-5FeZyJN=9VfTP*Iy76$La>;<FA$rJqsOh zxLbQu4Tt!TZKvq?EO`X@Ke84!4}7{>aC?#DRUEzpgsAdF*Dnd)Z{QqGSf}$~;bN5T zdeJqZ`rzfejBp{^jKZ(6xVCY*;n;nJK`L7c_JTrHj@(1RKf3;(NVwIXk;TetqT!!I z@?by;97Ps%e>EtV!bCn#z}DS*-w3M!c_CW;(zH()K0)hHsF038^>MGL95|~AEJ;y= zHTdUN`;Quc72>a)-qtM#Y|oSbX!ZD!)!Qo+-a7H7CY|Zi6mS?{VS)?yI<)~eD2jyC zzR2?!)1-qRBqmB6zEr?(1FwV;zTi$Dtig|O1Z)Q$9D)XA@|uP*M;<o@8$;qd08^c_ zUNN82bn<fY8g$B1OE|QkQXmR010Edx=Va7{x7P9aiN?!dZ0k+IS`ZGC-#`Hm748cc z4ZM%z2^}^28;1k2YF@%JXmJ$Sz|KgU5z>LIzAhPqaiL$5tAPam(Dk)Q*q=J>JM(>j ztNg?~yuk!YaBDp{(QnKkMR`3Hh@$MBe|W2L_%uzcjF}l_Qo;uL#WDyz<+t7+sFH^5 z>G6cD%~#J~=mqTKZWZ_h+ay$DkwR@10HX?z1@a*r+IwI^no@XiUxG735Wl(FJsNrm zxLWJ+KfDuA<9=DuN14oe-5FaV8l+H8OaXMr>k^K5Rp2e&9%6(w>1xfE&5tv`Z*3Kl zRXV<eGi}w4*^lUfam^fD9W5KRZ-$iRq^~A!cmU~xI<3`&^#(e|Rjj){EQge@ZCUl_ zvHEPbhD3nWxW*yUD6itjjl8mPB06eg^%Yrn(ouu#$NSJ1pAiTNwSk<pA{sEk=9+M8 zjLZSuNCMVPklUi(jCo;A&Pq1ew!ytl)kPm@6#XS%O+0+LU}(X3@Ctt^xGGi#D*#JT z?=MPp{W`BvIQ&gbxBX{45AcM&hlJ2Y_U_ldz-)upNw{1Shs4o52UZhy;k2p%LZqj~ z`wxZVn*ph#8t_HNSFGUz$JJBP4evotwiyL9b7NjILLhli<-hoT7b*&>gb%2K@|G=d zXe;1@%ir{{aiDGy4BtPQ=+X^HFdG|yko^F}-yc4+N3n`XK`v+CC^7<uOcIQ4#8tXZ z1B=;x;2bs(wHBKLUdDBW;fm^ZYq^m4P9o1YfuZ}TY|Yk`K(YPkpcc|Eiat>kIUIQ} z!Pu&pA~&p=f#X`j`k?vyYHBIPsN$sp!wOu6xORbu9l)AbMit{<M5%Fh$I&wsur?H1 zLvo}%ZyrG$o^2<1D}bm&&on{I55r}(TB{rbFu}|`EJK=Mtm}myPUE@iIF8YJc6=Vu z%}mO3<zeKC&W##WH=Pcgg9Gcp1kRM&3*FTLWd=V`3c9AVb%p6IUuW^bHV4p{oU_Z` zgN0*s%c5mT7oVU1BSx=~s$$@f^OrI&eu4Z_HWSu<{uKj7>VreyrQ=qo^UY`QKG>+} zb<j*W3>>;kxYEFcR_ukgT^N10nO8&sH#N94A#{@zJBYxzvXSFOL_4MO2}j;As_~wD z8ux3}+{ufsI3)E_NtuJt;N7QYBYI@;)Dd8%Smj%Owr{)a8^VV_1Tcfxhk=kbIf3mN zj<5+%$s076c^h7VSY`A=rT$gN<Ab=H$h?)0g3c_HLjD;|xXU1s;t$9IzQOIA5O?Dj z<=4b(GS{R5FCuev?@sW>)$6C_>n9yJ)8PdBaLx5>mMFUQEB6Ice48Tr&c!1bEX0Yz z-Soh9;fniAiT_v_UBx!L3>5IRhtc8>9PDeGB;2_cQG4ALz}%tq*n$;bui00@B<i?A z*~NpWp>n$5{c3;6zT%#*95~o!x)gccS8%XHoB~33uH&*ki_{X4=cf}l_AiRxK(<ti zL>`=J&<C`_jJQI=U5$YvX);)$F4V4x;~e=hI3UA!aaz@9|LL2aCTe`^<165ucI9bb ze};VT9u<*1$3WGS`XFWH*R|7+<)wK0mGES+;Pd?g#J6=u^5!NBE;&9Rfzx*(mJ8^F zS8|UUmT1g+RHYuz9CEx#0gV0MZ&V8Ql!@wSt6lH97ZR%v$a%BUm#ZB*@wQoz123@Y z9^Es)b-#bu*+-Tf2u%!5trGjX1H6$0KijP?-k%k+ppH8}9xi`t!renb<$h!~UvB>W zS%CZTI%Vt!$rBQC9r~%0y}AGNyu|)kRE%U9-S=>2siCh!UqKFxP)uEFre6i@f3csN zx}vW%n34OC%-y2Nh{(JHtvgl5Y&$YvaXx-M@1_@cVWxIsdy>?s+7Zj~EBtPX2|x87 znX3#YN{`N%E)4e#h@9!#-`~1V=tIUjsbVk(@hX3fO}7{H#qe~sU}wa0Wk}6I-2g%0 zShHkz`#V6MmPu+8;d$!vkdEW8`O{f?B94^#KC70A=z~pLE;Mn+y8BHNvrfh4>-$;S zyK3aFM&%f^nmO5ZesiOFl#4kV>-Gn#{7QJb@LBiCnC`&(x*Nbp2T2%vdcqRk_I|?T zS;}4!1noI^=YC7%ssYb$J^)T?(_9SwVjTSaNIE&YmQp@GulX6QU%Kg=njHbrxb(aT z+yu|9b?uHV05*@k5+m}s&2m`5Q<|{{I<nCOn1@qxoC%F##K?udUk@oY$vrb^hC4R{ zLS!^tno7Oef$B4nZ&)sW?+B80x6e6iA)|2gvAW5cas2`@6dqiM)46>0$l@&{{&6-S zke&|t2~G@QN&s?SniSiaw)3cSB>o1#JN|<z?<BSC;dv4XEZoBR52nHm;j-zrHC5AG zY$`u$-#W3jJHzPfY6gLUL^_o(S|-hJx+3Y1^TJ~EnETaoHZ1WO0aLy43Ga5eLia^= z9?7?9Sv5rJkWT&Ls<|Bs|Eg9G)R*b2=bQFS;vFGUHh*q$Lg~!i{X_HNVph-_Ap8>j z?wfLsws>U&B8@E{e4l<7Q(4=w>IEnP_%vfqVZB<&hTpOiG!*<MKGzjQ625$>fpefQ zqB+f}<BmlZyB4)kxVr-#xl1{<>qFLWSx;$9v_Z#jg+*#X&1W?;0)tl<mRDlqk<zmL z!<6y)AHhXhs2pdjmvXF~A4c3I2ox&#IuHQS7*TQSMH|e_Mch8baW)8xkP$TC=8w4m z|9QXr;v4NZJ+!>bKah9_Bky!u8}?cBVhyV~Znlqg$nSIe{CL&R+;3fzi+!;#nslG+ z{-LikxEUCL*X3B500IMG0kE+&4S~1-kHS<y<`A(R%m3&w0&Px{Lm(Qqoe8kI;(}e+ zG6<uR{#E5+>o)d(bWAk|WB+fH=wu)ftLT3XVydVdAak*d{!?Y){zsFXm>lST^yLj^ z;eRmct-R}h^yU98yw24BABLxH1*OOI7&erSr1bxh{g&JmFg#znPARvb_u^+Q0Flbe zE<GAqGq9jn5ICIW=7*6w*YKY0zL*@h&ZBSbTYpUAr5v~LQmOJ#WI=xM9;~URlgk4- zmwIw4OV>y<lwfnt?|^THzLf=@D2bGv6SQ^VJH65#Qf1-PuZPahs<_&CXd`%XHs{MP zrKk358n!{I3|`b0L0x+XnF>LjRdWL?ux5vtd#!8EYg!wmdjs3Ww|RH<TQDb5SJ@B1 zRBn1y`}tVy<srf0o&UE9+nos3EpK;C4lG2wHYCDSMhsLG8@svEEDRzc=+u)Bb!<&- zEI9UqmKw>@F>*PF*cdvi>wD@Ztiwe7o8mSxuois4cS*zp+kkI8fUy*?aiTl*;^C!5 z@rN)IG4I&zuWfT1>)+e^TK0VN#mXhfNbvXdKUr9xNb6cC%iD7Yb2H+5@S>tP*4uKf zw{%ZgVMyrZ$Iru;!?Ca5Z;Qv8?}h#?cpAe7O5f*Cg$Ukd;E3R{{j&c}qXBp$tPzj@ zj;o(!U_;otW}o09Y-AAR^?bgJYjDS8B&M%!X_>_O(zxY=gGR1nSO$U{!$X%%u;^lA z=LQTNq0YBQZ&@mvin;>=)88^!*k9&l3pPhU!KrnNRlb#_VV8<}$C?Be!fVQM3&Ng0 zQ&u)1VZk4{WxBSlbwzGeTz%7{+|uKSY>GQ{FAsW_dE(;Iy+8Yd`yTk^EuFxIYhN^J zV61iRJayywKa+nw?trZ#ts2|5^jrz(?RwC2Iprv!aSQro^{X%Yr&I`DxjQT@w2)E* zBw^B0afJH%T-n!Wf^Fv7$W=numC>bl0VxwdKP~kV&ylk)0^v?Ud&ka5n%%*^6Z~yj z$Pw6cz-)`ay6x0=3L6z2U$klvw6&h=H(-9Uc!h%qja<-iu<G=hSS9+{&EHm#z9cv5 zg0V+K+k`Ns>j+lgcb4ict%wDQ@D6=kmH9`7iZ8o2V5|^`#$UO(Wz_O&(MAqW2Kyk+ zOj@pJ8jt?@6i?h+3h;$S_ZOt9+P0hRtpdAHt*F`5p_`eTIc9q+0ht{ZI;&a8JJc19 zWe^rQtNZhlY0B;Hy;#psP^<AcxZ<b(z$hWC3{#w$jI&6ZEFZZ}>DmF&I7ibfbsnuL z(tC-D%AnxI_s3;v)8!Vb1^s`gu!{T=W{@kG2#7q|>x<R&eu@1Td{#;9H;?S|#y-Ms zHS-_aErw$}u>R(fkSE(Wajf-F7Xp!}v*72p)XBg4FBP~zd+_)K4*hGfH~!iw6N(oq zO5>XBod2yX6(6XEDXv-?uxxVTSDk>V{KL<#jC?4UR?SN6HO87J&t)N3?GbO3rbjA! zjGZdEjGyoSXimTS`n)XWDLv-*>Y=SOm7`eSi_D0c+Np5J|1joc*>B6qhbz;krhf6$ zMYursZmQssRa@XgEU$f;OO?i-xqF_x$8=1-M*Oz?{Wk5dvj~S6c~bDQ*zJ9<8L{LZ zAcqeC)?!_K0MRvdEmkPk+XU+t8yCDFqn1<pgU|O}wnAra1r*;jdCTCn^j#QbrGZYt zkz-e^&>HttK?;N~Us{nW$(!pl(mnW%$}vlF<pAi5a@>;@&R`^OnJtI>-^h?<a{`I8 zXn=w}fl=b7bpVcBY69@gf?&VDFh*ziK-~g|ji~F4gi(Cn8Fe%-E*L<n{!7F@>EG+b zc{1b4AXl?xax4Nsil`Z7CC`*UbeU8hn364*l|bTy#!Xa+!XpO4(W0h7R1FmBVz{Dv zW*AI+I1>JOBD@r)W6N~xkqO~hfQ}<^0E<ZFNt<lMk@&$3Ke8%sF6VXlx-JR6Tm<|> z=NvFXnyrQTVh?iP;me_W!m6kP&&UcN4iBoQVZ8s)2s*SE?G{$$J*JBElK7GjGT!0G z*D}9x;2d;4g@Fop)uWks7Bp}kXmBomA@SwPO>+RuXBrwnit%5PK^C$iS&}DFsEt|1 z|8S;4cmyUffFy#N!{`cVbG<U|j~jprP&W%vH561xIRGddz$A1P3bIf|yadkx2s2RN z2p~M~CL1R4@;<K1?Rj);B_*If+jGk7_QT*S8;^gu)%|o;#i`h6!Nu@OX69cAJNUa) zHSl}h7g5|4Wny`Q=_W~FHLJ(DnJC3<J@iy31$_jfC3L)Qj*$n3Mpqi(4e|V3UYSKr zF>PdnGNr7PzyWC+_I$s$<<w6EG8aPG(MLSm_61~;&%-98@k*B;c{D6$xyY|V`|Qg3 z6TbQE>G{yTH$d!h?)A3B<o8!M-D88YmEjXn5580k?fX6G1upQef4Khe_0?qeLK<%< zqM~->_}YlRV_*0l7)z+^Rz^XLX8N!@mdKA<9}v?u+ui<U6PDU-!&IhyJ$*n0xbVMB zq2GN%w#)tWMw`S|mbYk`3_ogOqM~y>#}zj0;asTQfM=Keyf?%B98+$c55gxjAD(T| zXjS^y!`}kdz}++9_a*9L#B3pr<ld>lVv*N3(G>6oy*y=ATsM3BiY^q%7_I$%E5%EL zG7YnEf9_GKhly|QfNoOM^=WNho#L<nJ4`yKD3X21U+Iq)=u4h>B-!~r+Ae=a0+q}5 zOt##UEPJIoQOFVwm)7xLA;KEoaq={r6S(=(TZ`wo>sdYdY+xQWyZ7mX$o11f@iS8o zV<O0j*vCnG!dW-+&B>uq30%^9lksw`YUCUfC{_D>oT(3d@LuDGyhAMUVcDxWNmMgo zU#oM8ropPEQ|r>bf^Q|cqa~g1n?-l-s`XGfb<n-|vY944-ZVbx51qO4>p*@7d9+=> z!4Yz0jr26S6o<%|+?_N(6(!}657-knv+B7E+e03+L(f}({qdB<1zX1~)||ZbF#+5W zs{HX*@l`TdSmR$^R+aW}wX!X`)1{#>XC0BuL7n~@O`Ti~KDPU}OwaH7{=!BAfi_%< zUwH3r*!bwkeB9Ih_0~tq6%ydW-WRt|yL+dD&(*Eh%#N~w&`MrpOMrMs4!HeWP&Cy7 z6HtSZ*m?8)T|pk`FaMDDE1p_It-gmo80dZ`ptVNBN46RKD9t}b<M+Fuha6HSqaNz; z?B%FMOZ-hhy_mWG`|Dh7KzwYyx0I;<^`n|QVBJ4L%Nw-U30oY8eTOVt-dTF%%`3s# zxz%rcT576$xVa;NPRHj+Y6RW^_p!m%3N1BZP^sm-4}sfbqr?Ok{4FzL#_VjLd0uZA z>b&!Mc*Je%SF+Y7z|05|joxmm+?Vc7P<39_-7@g|&X4I<bv7zg79UV9oyKWul`7^p z$nX>VUe8j^)nXTzAX6$9wlm<U4adWbS6%gC8xn>H+Q>D4Y_45{Ra#rWP&UlXshuv9 z^_#fGncbsB;OPYpwG{K?8_KPraNqKkgQ`RlUuzc^nCL&sFwP)o9U*^bf-EHko@RVv zO_D9dDdFE5QjO$W>9_-WMz|bu11BDM6EHQx3ID7D_e5=>HC;2+>B6cNXV<v{n&w`@ z<1}Ho;uMPwXmZ*-9V6z9-VH#F`nlm=Mh+u0hv^I{9<maOmKyHYRdokckqWdaC=oBV zod%v~N^_*uY|FuUn3GdJIiRz-aK`Ee0BgFA8=sK2|LK*v5xZnzaza|H%LHrK6uDgU ziJ;^pY3^}*h{;pkMe>Fu2|NZH+I82)D$*5FB=N7|sdD*B4rCBmOU`~FCTy18FHGQq zV!CRO!(DfPH}FKA2H$01>mjHpLlW76W(DN~l13q@PRmf`<bzYMh1^j)R|zeBIFkly z38qIEsXmz-H8D3-2#rA*x{bC6xPY{Q_hgUscH14Qvw!wtH!_?`HlZhWI6%}L{O-e& zdk*om^8r<VwDV3-7D@4iErjis^r%lUH);UFaKztlPS0J$)LV40b@YrE>*uzvKkYCZ z+~#_*2=+PPG|b@bY_9fJ&zDJ91&Cb_o}{^Hg~(y6Ht#^q^vihhrEN@91Ty1^`)DQp zJt%@ea0z}h2QR8hK*|$#y?rQKtj;#Ifv6>1Lc7yX{h&1(zREIW7XLVxM-7jfA|Y5` z#`S~WI+jlXjbW`Mw^}lmqAWsYys!cwK$L)@OvMj6Uzm7bCLlP@$WV3gJIMSv<B$w? zSP2B8{XxxcQ8I&2L!xXG$w`txVaL=yBKecVIXP&dMygxm%j5VUqvSQ~v2s7EE;{yy zPFqaMYPc3D$+g+cBik+jxc^o7w8z>wabEw`^c1Z8peMu<gn2YmxrKNWSRH<brxq`5 zmb@x<^4p)=)qizPJ(pb=|Ckz(_Cx|AfC`FtGCZyjXuPz0p>wO!$+45#bHw4NU-(;8 z6_UtI^mOvLDt2jSVfSm+^q04&&N}y1Ai-|xhRN|IyP(+;znCp#l;hQ9lM=ZE5q0iq z#=|C5L~?jmXor<c?-oNcnlH%goqck#VP&)+bJ|Rbz{|GlK__)iz4e)&y#=~Oe&>Gp z)GUoMeWf15o6uk9Aj3s%YVXovx3TJ<Z?W^l=n&T&LG{wNp{<vxy|3NA>&zRt1IpPD zs((w3$&!P)#Hpcx=wEh;))4DW5QKS`VyA;FHT1>|JQlUJq6aj5!p9v5Bi-9(*C|H1 zBlWgZIC9!DL1C!Tb@h~GFs~uT;O`MR&^Qrh@;=dy>_*?Y6$khlHzp3@QHrkJ8F>J1 z5WA?rl=&7ggw7|xj9UtjI^it<df7A@0NDvJLQ%)VDBY2S$7p_RkQSeW0DeL;0!${Z zzdc08s8kXNVkpspZ+Jw}7XSm<H#i(B@+}@3kIH@+$pOO&$2cIoHfs5CBp>3Ew?lwS zzAqvQ)_98&fd+y-ymI6zz!iu9pn(zqkmA7rk>W0690?NeThGWqjuR28vjYg%L`d5- zKmxl+22hj8RuF^qPzVB6g;W|?()*0}Bx1ZM3NXmV2(LM7S>O$#fnBYLcg1d0SX>Y$ zfn5wK>VL$>Wn#Jb4)JB;@&AR6CLa@n0rsSdV9!+$;1RW#J!WG*NptZ4DEu^~f%00V zBpgt91LIK9P8f$Mln{t$M&LFMsGt{MsJbVS3>;7j4V+=iF~OX7$}0q72p<N3*Wq}a z3&Qax0C1G+Ab?5X0LTJD04PG8e84A#V?q)<EMo~i0H_*<{U`G~0{PrQ0T-<A#LEby z$05(RfFGKZ%fpOS2vbn=iD=~O3IM3d=?KIXm5PVCQW$D1#M9oY$_63zCLAzcYZqDp zfbts%$D=-naHx1EghP~lv+N;Y(FO3pCL6mCK6OnL0WAF11RSd32;+fMHberQ)+?8Z zawy<vHu|)Ja;Y7{^1yiG9i4W`L$AQ|T<A6`0uUK3h=A&N!en5CVvZ~D06-MD5J2CC zi1H*sSLQBM7I2c}u(@&_1)DVoiqe5$-HTx}z?J9(IE1DSV3g^IxnivD@-7^!<&-F) z6@bKKd$ky&fI)c(2?0El2T*{W{g~lrmRtzP%AfN>0DksE9i#SH0xEww87%-z`<|5o z5%ik6=;R^}K+od9a8g+!pz1vm2&2~~Urvjo_k;_31TgaI(g%!tuH;dPbBVAP0i4g7 zlLchx_fWt&nN1gxtlGHyf6P&U_M0Ubm7ZEq!4AO&ECD_K^^BnSljj@95K5@b-6|{w z))L@4o*c0#u)NSmCi3X*Z-TZ$Xk|o8_ZV|n7nsNiHmA?d>LPhj;;1vX^1{+N5!8mm zT+o#TsmRKOg<BQ{ZQPpBtH%}Ft3<WLKt%R<@G+o7TyzP0_G0|R_)yJU_NdUJ&w%+5 zH)Yn(daSK_rtFQ?!=LwWMLnT_cK_Lhc`~oZ+uE?@71{Tn*b5zPJ0b3?<bGw~&-PrH zqM+;EDGMiEaw<_Z8<PNQnkZWq7rt+*T%pjoiZj)+0`<9jE#$z*i!FIdH)!W#nA`l` z2CdlSyk|Yd_E$x7&D6DhIH2R`ONu?PCHMW@<1f2oy_6Rk`sxHJVDEvInU$|1URo|q z?A{Iv*S9j;a~2-sc)Ry9FOBs`C<n9z9emet&R4i8EB;&5o_}gY0$(Mgzx2vek8ndZ zKHsmNkOV$c&)2<8&MGVLxjMf(v0(L>O<VMVtz&}&(`_|U*c?gdX3H<^zXb#KG$Q}j zs0j1Hv|)+RV2M!4D>F`+%_Hp31>prLA8!ceOIwRdQ@@Iv;_Ex)q8GZ0Ked@Kb0gMv z&noskD-W&_;^ubczKv3}&{wUjoccB97mzAPJV4o8pIAIy^4C|i-eli`msq~oaiEwq zX|g7@zczgG;#AGjj~{cjEJ|^N@BFy<dP=B#*6>!7dc^h=EJsw0qBXLp@2(@eRMM0P z`XW{(4&Q~qNq*N>lDFsAW@{v1TkSi;gog>&cjNaE9NI{o<PEnZd?(-1NU^uylNw*B z2>~HQQ|F>Z&IWJ87}k~Y9djIc=*dhE#Df}pgzGJG%$P;o+sjgFAPg;9b6+f7D`ear zJc8P-HWA!P6R(lw=Z$3iUy#cZzieV0W_wz_O?>H2@Dj3<_FQ3jUQ@-K60cRL&sM)4 z{`RY_ju-p*@8{oL<gkm}JGp!9`!nnFNjE6x93>o=Nj|5U@G6|02mX(N-U(NDE4kh* zN1v@@$8ZVs7CK9CxF@!Y4kuEN1hGgeB3Wue7YJ%XQ-<UNoUJSj!c|Snb?E<re>nYq z>pjjOPve@NNSLn4xfssz+OGc;%w%?lvF@-Q)IO+dC7#7I2;(MHy)c#&_{2E_9@Oql z4pew!uILW_hGP@HZ~fV@Bm5r>W3sKnjSK=yEQ!W5p~fn>N}_(i389bh&VZkAq?+sq zuRw*3pEP5GBQa|WR9HfR>hcGvR>^Ghv}@FK)k14#I+vW!OwdXSl5DqSYFJ5WSnCOE z5v>)x4d`JUJ?bakrP{7!37iW2o??$zCtBloFtSjRBPHqofWq$@ImhrfWK&3u=2VUR zx3=3QxBYJsTLgbY8l6U~#FM7cOdG!4^Q|wDahtX8IX8IQpb$8Oz#v>84mkPlX1Vi? zD{=zlGu;4&bN+)$-m+k2?JzuF%YtKN-mnebIp^8!h?n(UkrK&t`9f!AC|4`LFuoEF zhjN5p5L&x81QTORG)m=&8KH*tt@wik4!KSm72*AV0PgMmx6TS#c04=Ob~~}>nty#L zeG2Rq+Ai@%8g=8J>WDGE!s?oubTXGpZQviOZ^gBV+K9iATE&dlO1_5w6uth6dZh13 zb9zhu&|q!(9=URJ`ZBENSW%;Ro41z})kxMNhynHoleYkmBrx#EeNqBHwmQX`3NuDd zhs5tr4HS8)Adv&Pi`ao1GU*qoH=z*71(yvjhslGQ>5inEP`O|GJHO^xJV&I9O_k)> zSUI9A>m1ROFY<8<_cF?D=>*121`WMbRxnT}mJ`Gzb0JM|wY~S4zHDDj3jJA}CfJXd zKr>5MK(t^3_#!a&*^oWGXlyJs7%Q0nkybkzaV5D7))-(3{_eV%7h?$?P5&5p!?7WD zW|*n<1g}o5+Za>rs+UH4da=pUJuqSK*ax{ES2tu!FNq{lmka}L6D8<NhCK)7@Z~>> zBZT>Vf+yeiSrjSapLzux49{1zb^bjx`D~7-21e%BY8oqNlX+840e|0Dk4d0Cty>02 z{2GC|Z;hHPI+^%v*UzS}3K`eReR^&`8Sy_Z%G>u%u#mft-h;D^UHqlwy>wK9x9j}m z<YODwK8<T(FB?zQd@n6cjfk#{ki53nXe2^0rTAIa&y5Zh^D5_4+y(&lbF$lDTWZZo G_`d+WUrFNt literal 0 HcmV?d00001 diff --git a/apps/widget-configurator/src/app/configurator/controls/ThemeControl.tsx b/apps/widget-configurator/src/app/configurator/controls/ThemeControl.tsx index 912ae52141..40e046d227 100644 --- a/apps/widget-configurator/src/app/configurator/controls/ThemeControl.tsx +++ b/apps/widget-configurator/src/app/configurator/controls/ThemeControl.tsx @@ -1,4 +1,4 @@ -import { useContext } from 'react' +import { useContext, useState } from 'react' import FormControl from '@mui/material/FormControl' import InputLabel from '@mui/material/InputLabel' @@ -7,21 +7,26 @@ import Select, { SelectChangeEvent } from '@mui/material/Select' import { ColorModeContext } from '../../../theme/ColorModeContext' +const AUTO = 'auto' + const ThemeOptions = [ - { label: 'Auto', value: 'auto' }, + { label: 'Auto', value: AUTO }, { label: 'Light', value: 'light' }, { label: 'Dark', value: 'dark' }, ] export function ThemeControl() { const { mode, toggleColorMode, setAutoMode } = useContext(ColorModeContext) + const [isAutoMode, setIsAutoMode] = useState(false) const handleThemeChange = (event: SelectChangeEvent) => { const selectedTheme = event.target.value - if (selectedTheme === 'auto') { + if (selectedTheme === AUTO) { setAutoMode() + setIsAutoMode(true) } else { toggleColorMode() + setIsAutoMode(false) } } @@ -31,7 +36,7 @@ export function ThemeControl() { <Select labelId="select-theme-label" id="select-theme" - value={mode} + value={isAutoMode ? AUTO : mode} onChange={handleThemeChange} autoWidth label="Theme" diff --git a/apps/widget-configurator/src/app/configurator/controls/TradeModesControl.tsx b/apps/widget-configurator/src/app/configurator/controls/TradeModesControl.tsx index 6e18f6449d..0d129858d8 100644 --- a/apps/widget-configurator/src/app/configurator/controls/TradeModesControl.tsx +++ b/apps/widget-configurator/src/app/configurator/controls/TradeModesControl.tsx @@ -10,7 +10,7 @@ import MenuItem from '@mui/material/MenuItem' import OutlinedInput from '@mui/material/OutlinedInput' import Select, { SelectChangeEvent } from '@mui/material/Select' -const LABEL = 'Trade Modes' +const LABEL = 'Trade types' export function TradeModesControl({ state }: { state: [TradeType[], Dispatch<SetStateAction<TradeType[]>>] }) { const [tradeModes, setTradeModes] = state const handleTradeModeChange = (event: SelectChangeEvent<TradeType[]>) => { diff --git a/apps/widget-configurator/src/app/embedDialog/utils/reactExample.ts b/apps/widget-configurator/src/app/embedDialog/utils/reactExample.ts index 302857e841..771874311d 100644 --- a/apps/widget-configurator/src/app/embedDialog/utils/reactExample.ts +++ b/apps/widget-configurator/src/app/embedDialog/utils/reactExample.ts @@ -6,7 +6,7 @@ import { COMMENTS_BEFORE_PARAMS } from '../const' export function reactExample(params: CowSwapWidgetParams): string { return ` -import { CowSwapWidget } from '@cowprotocol/widget-react' +import { CowSwapWidget, CowSwapWidgetParams } from '@cowprotocol/widget-react' // ${COMMENTS_BEFORE_PARAMS} const params: CowSwapWidgetParams = ${formatParameters(params)} diff --git a/libs/widget-lib/src/urlUtils.ts b/libs/widget-lib/src/urlUtils.ts index f70539b26e..f0b3368dc9 100644 --- a/libs/widget-lib/src/urlUtils.ts +++ b/libs/widget-lib/src/urlUtils.ts @@ -1,6 +1,8 @@ import { COWSWAP_URLS } from './consts' import { CowSwapWidgetParams, TradeType } from './types' +const EMPTY_TOKEN = '_' + export function buildWidgetUrl(params: CowSwapWidgetParams): string { const host = COWSWAP_URLS[params.env || 'prod'] const path = buildWidgetPath(params) @@ -12,16 +14,7 @@ export function buildWidgetUrl(params: CowSwapWidgetParams): string { export function buildWidgetPath(params: CowSwapWidgetParams): string { const { chainId = 1, sell, buy, tradeType = TradeType.SWAP } = params - const assets = [] - if (sell?.asset) { - assets.push(sell.asset) - } - - if (buy?.asset) { - assets.push(buy.asset) - } - - const assetsPath = assets.map(encodeURIComponent).join('/') + const assetsPath = [sell?.asset || EMPTY_TOKEN, buy?.asset || EMPTY_TOKEN].map(encodeURIComponent).join('/') return `/${chainId}/widget/${tradeType}/${assetsPath}` }