From d09a441faab3e6dc99c5bb757ccaca7ad31c5f91 Mon Sep 17 00:00:00 2001 From: Chubby Granny Chaser Date: Sat, 2 Nov 2024 15:27:27 +0000 Subject: [PATCH] feat: removing lottie react --- package.json | 2 +- src/renderer/src/app.tsx | 31 - .../src/assets/icons/cloud-animated.gif | Bin 0 -> 60596 bytes src/renderer/src/assets/lottie/cloud.json | 725 -------------- src/renderer/src/assets/lottie/stars.json | 928 ------------------ .../src/components/avatar/avatar.css.ts | 23 - .../src/components/avatar/avatar.scss | 21 + src/renderer/src/components/avatar/avatar.tsx | 11 +- .../src/components/button/button.css.ts | 69 -- .../src/components/button/button.scss | 63 ++ src/renderer/src/components/button/button.tsx | 7 +- .../src/components/sidebar/download-icon.tsx | 18 - .../src/components/sidebar/routes.tsx | 13 +- .../src/components/sidebar/sidebar.tsx | 6 +- .../game-details/game-details-content.tsx | 10 +- .../src/pages/game-details/game-details.tsx | 9 +- .../game-details/hero/hero-panel-actions.tsx | 10 +- .../shared-modals/subscription-tour-modal.tsx | 75 -- .../user-friend-modal-add-friend.tsx | 1 + src/renderer/src/scss/globals.scss | 15 + yarn.lock | 190 +++- 21 files changed, 309 insertions(+), 1918 deletions(-) create mode 100644 src/renderer/src/assets/icons/cloud-animated.gif delete mode 100644 src/renderer/src/assets/lottie/cloud.json delete mode 100644 src/renderer/src/assets/lottie/stars.json delete mode 100644 src/renderer/src/components/avatar/avatar.css.ts create mode 100644 src/renderer/src/components/avatar/avatar.scss delete mode 100644 src/renderer/src/components/button/button.css.ts create mode 100644 src/renderer/src/components/button/button.scss delete mode 100644 src/renderer/src/components/sidebar/download-icon.tsx delete mode 100644 src/renderer/src/pages/shared-modals/subscription-tour-modal.tsx create mode 100644 src/renderer/src/scss/globals.scss diff --git a/package.json b/package.json index 0fce540b..d3be2a32 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,6 @@ "jsonwebtoken": "^9.0.2", "knex": "^3.1.0", "lodash-es": "^4.17.21", - "lottie-react": "^2.4.0", "parse-torrent": "^11.0.17", "piscina": "^4.5.1", "react-hook-form": "^7.53.0", @@ -110,6 +109,7 @@ "prettier": "^3.2.4", "react": "^18.2.0", "react-dom": "^18.2.0", + "sass-embedded": "^1.80.6", "ts-node": "^10.9.2", "typescript": "^5.3.3", "vite": "^5.0.12", diff --git a/src/renderer/src/app.tsx b/src/renderer/src/app.tsx index 905bb943..098d5f45 100644 --- a/src/renderer/src/app.tsx +++ b/src/renderer/src/app.tsx @@ -29,11 +29,6 @@ import { UserFriendModal } from "./pages/shared-modals/user-friend-modal"; import { downloadSourcesWorker } from "./workers"; import { repacksContext } from "./context"; import { logger } from "./logger"; -import { SubscriptionTourModal } from "./pages/shared-modals/subscription-tour-modal"; - -interface TourModals { - subscriptionModal?: boolean; -} export interface AppProps { children: React.ReactNode; @@ -77,9 +72,6 @@ export function App() { const { showSuccessToast } = useToast(); - const [showSubscritionTourModal, setShowSubscritionTourModal] = - useState(false); - useEffect(() => { Promise.all([window.electron.getUserPreferences(), updateLibrary()]).then( ([preferences]) => { @@ -125,16 +117,6 @@ export function App() { }); }, [fetchUserDetails, syncFriendRequests, updateUserDetails, dispatch]); - useEffect(() => { - const tourModalsString = window.localStorage.getItem("tourModals") || "{}"; - - const tourModals = JSON.parse(tourModalsString) as TourModals; - - if (!tourModals.subscriptionModal) { - setShowSubscritionTourModal(true); - } - }, []); - const onSignIn = useCallback(() => { fetchUserDetails().then((response) => { if (response) { @@ -280,14 +262,6 @@ export function App() { }); }, [indexRepacks]); - const handleCloseSubscriptionTourModal = () => { - setShowSubscritionTourModal(false); - window.localStorage.setItem( - "tourModals", - JSON.stringify({ subscriptionModal: true } as TourModals) - ); - }; - const handleToastClose = useCallback(() => { dispatch(closeToast()); }, [dispatch]); @@ -307,11 +281,6 @@ export function App() { onClose={handleToastClose} /> - - {userDetails && ( fTbdh;zd^zQ0SRCMdj)mv|Ipm$eqp`dFw-y)%R*KQ)C z_t$Q{0i(CqZs9@iuHB*$dVlQ}61x5F8ajG^?KT{JxOV65wL9;x-T8R!?z`(Z-(SD= z4mWy#{T3X3xPJTX_1o{Tq4(EsW1u@9uHS!u#|Fo^FtQYL4gTWoKtw6u-K2a`W=@^BtPGWWBazc)NH^){4#A^8C{B zfSG1%CAY4+y3%lM*50ntr`OiU?4I@~YuTEcn=`g{$*vTA+qu2q@v^nM#Fkv$T=@A_ zYqnX|-M+w&heREBYtcza6^x3ohOzO9qoAG3# z>N^wVUhl3SaejhsCspc9LNk|6d7f(ec$(I}_Ql>08)qtY{$Cgp8kx4Q<5{!HUDnju z=~5ie-J>^pKJUx#vtQAkIl~5{$*C;`%Ul6mOS0p^yqc|&R^se`O zYEzW&K5=H%tv8?B_=A^-oS*$G=gV2kF}*`~&RVtJWW?GV_t(O^9N9b7;>j@59GL zv}YCUD&{)#@r1X~p8R9y`_>d4x2fa#a8UdBolh=a3v;s1SZv<2@Z?veq~cYU?0Xj; z-K_NW^HN9kwVxZ(B0@GF^U~hC;PlR4dvdQt=%1CnYO*>y_gcc{>m_df{M_GeM!o*F z{QBNSZ@(49Sm%B@o40@MH}_X^dsFV#oL+TI>~;c|LPKIran5nk^yOw^54_bJCLC0{ zvi6X}1ogX-UK3tFYjl|TzAfNsq<^2xZ6|p(2JgA$+bSJbR;%g0blQI||A~dTTJS5* z4u+3UcN*DjdLe%PT;Y=g^66B|ygUmS%7p|5I{Pk36KIwFz4i6U^=X$@#qKU!eRE>e z%~Nw{PkSBRANqXWjnmuL-xtnWeDAG9=(~8q4q@%EJ=^uJ9F+LH>g(^B<+97nHt*V+dvxjKW7Bv`bKl-R;JWA9-sp#K z?jLM^?iON``2KwLWN-I9F$Hg)uX6OC|8MG#2g~%ATV;S8v$6Z|8({2bHQ& zk5${+e%+d|k*O*At+Rw*_Pd>X9JlAKX;`>p&F=TdPQBgaSr?tZP20@A^AvY#KJLD9?%c1OlFr1PvqUcLk$U^(JWJA= zFBf#}|9)vPO5d|(XIMG!*NVu+ZpP>1s%__ASrHUlax;MU((!Fbf@^d ztc-{9@eQ-S-`_5%CANTxW5JF4awSpJCm3;eEFF=cRF8rw(;qgCTts(pA{z=)y`|+;Nj1Ue4X?=&*)_ox4${> z5%cBLsC#)9FtB?ZV3I0OXJn*9Cf0y7pu4VU_%91sY*rc-yz1(TkmR_#TBfhP)+KDL zGTnK#=jP^&%d@sxl`XltMg7sKxzgggx3|eJU9|M{_V=BelRjo$sSaD$aTt_||6KP; zI4H_Fd*<#Po1Px-UFfv#1!Gp?;pxudWos%oyDXdkxGOH!a&ypS!RgEF4(|Gvv226v zDYN9=#g0HXG0~V_t657Hi22T%wKU<=@)hZ`i*9KyTi)okC~MKImoHsr z&5O!hWqj@b39YP!hjyh+T>9?WsYt3Ho`1{*$^~|roG(W7ESe5<$VD_%lI(z>!)dm0vD@Y!^Q*=+V|n z1%apACT5#o(_+Zk&M{H@n$WXpmT>|vCnfLRd0yhho~kqLi9dfPa&~Oka(Zf{-0j!G z<@>DPNj2x~Dxzis`UyQ6&{;wg0~dL)OU0hr^77IWo4H_7IlnfmKRD5w+0S?P=d5LG z75mnn-CdruZKte}>h0YYZ+C|_tLJ1L+fjTgc&d2HzdgSm-!6zY&d=MsJK@dE?^gf+ zzTUg1WAn*_edhW9)<%3iy&2kxQzG!nKF*V6t-U`F|kTr9QXXym(5Tr)9F*4-!1p( zT5z{XSH@#M#b+E3bIrpn7WeZrom|}GvTDUbKPR=D3tKEhUp$%IarMZR3Bg<%5Bm&x zr>FKl-1+i<96rw$$j~)zhKwe-}<~9>7IEz+3t6LIBcTw^R3evD;~ommg}~?&J&BT+1Q1Z%Mh+@)-S1e&KiLN=n7v%)S~Eef;8yD!mIYi?WBtAD?aA!{kJavKKRVL6C-JS=*IDN4v=gppPl*-R`*#tnc3{zl)k@YY1+9JTQ}T4H!nCkO{c2l=%qP%WTi0*R{%`y5{{q+NS0nz;WxHR`p{J%$ z;B)Y)e3O9EvV>%po9PKH5^7<$%baY#-ffg@+o9O(P#F=^q4BFNvQw>ThEi93;f=|W z5BAPTD$$WEoz`ok)VA2)f9H+I-3$MUJelBe&UKNWyIQA8wz1jEl>Yr6Qyxw6ztlc? zO2j9Q)KDv~o2ea4d6iRUB&Y3I5NLL=HEou_x|L78{q}OIHx->*IVrU4-p}}XRed61 z^Xnd&KWtE4+ZwXaLr&|ldxhXBjTXjr94i-1@{>wjdNNaNTH>re%cKP&Q;$ZjC^&Xw zrR)5t_Eqy!Q2M)l>yQ1ou$AF^*0BTs#bjQ^bG%+{u!=o@_J_lhxh@!l9SXXWyi+1u zhly9={>iv~vcWu`PMY-G%-di`G;lA%j9 z>&lAYf7M+b2$-Tcq{o21+nH{co@-NY*818mjc*qDH}!U=;JK{{tulJwW7}$e zZi{c1iQ`BJ5c=izsH?P=Bc$%l#v6$V62GP-^%zakxYI55>_u{E>Q|MA9rl}6-1K)A zTlr+7%~IDTleDeWQu+h_omk=*5|;V2(^9r|#xz&2%BxukdXdS#Q>JD5QY zyJ~*ZS`!=NHs#ue6LFbqT281%zbQUwroCpyX(!bcTWW&1bEn^eDu29lZ{6y3TiqDhR@a?0 zdFqBk31&H(M>@F_J{}g)j+8kla`{2w+=Y3s3y#T6_i>*2_t)vdgKFDjo<{7c#1-;I41`8guTmTKv4Ju7M!tE&{?Z1we8 zZ4%4Xozd;SrnOSWzMyf3%BT&`Ak&E1;d?d+58t^K6C zqezJ{E}fxAhiS_LRqw{e8`~p&COs77Ut)fL+V-_yGBg9_b~?;sE*E%^*sWmcIGulQ zg!jV#QxCi-+5L>sc_qK^?q{ajrqw?4-pA#=@lt*8`(V&i9VT9_8L>4dPsTr|aOfE= zFVC1nhrBEW&dWVord}a0f|jPu^GdxX@;qck`0}u&GextmtP9${i>3O@5l-Wb%acTR zPtv(1tn}!V>FRCT(UbG;pSrvI`?qD&f@3${hgy_a@{_sU0!CdA8I>sYxa#Dj~9h`NiWJhyR&&d z>)q;y8Q0f0Kff0{XJN?k?NhzQH%1qJem>LNKfG_6PUuzth0Oo&@7ud8_VmNe>gxJ; z|NPwjGP*zAf1kC|@r0Yl`u+C*PucaZ_IgOwpP%UuQaYEKJqTK|w){aOL)3GT=1-PC z9yAMTSv(9BjeD^$annaJkw&q)7Y_@hez`0xQ`@#ey3ls*i$^`xhTnyoRWJQm*lSoc zV{xC{rxn2!4q~2nb8G@LQYO}at%%R|7VCU6!QV-8X`k=Akf;6Ob{)6;`b$r$^q6ea zc-F&si{okx@qUr^o9RY zXC%2->YiHB*!QmTWCmg_8c{DV?O99QT4I}b8~sXMv*Vo9nmK!|Lf+II|2OmL+BnABZ9OtCe&%bA6j6|6|NWtqB;pSe@-=rK5w-BMA1pv&)i=w>RyVO9c2E$^2=pM z`4uH+J4|%duSCS3_ zVfX%i?~>}F0}=Puz0<8IsH@+iwyH^e-fWNd(~=Cz-81G?oJjvtSe9PFShtj&MfTix zhk44nl3u;f)fya@>gNSKPUtQOcwsMn%+hw5zMOy$IP{ z_<5ed!RhZicly1qtLgfld;f5U@aey|LOvYZo%&F1p3hJHCcWg0IJKK*U?t&HrB^~vY&#Y$g%+qTpCy`0{nZ~1M0+`CoJ?XkG= zm~m2Z+`T!K?^mu}I$JDm?vK(peY3Ux-@m>0SNVs;qyFmg_x?P+khxt=_Wr)Q`$wPG zM!S05-}nFb2ivVzYHkO9zu%}7@l7`HkLU@xCJsHZ83DYn*c4l)`JM=AWs7@}*u;2? zO{AT_?#IHWp5BTpWop|hW<;;~dL+JGZ`+PrZEgp{9{1JUJ#o24^;1Stk5#C~lRi7K znTz|}l`60Fd$ZkK(mwsK#LX!-VJn5ZBdj`S`kItwDp!R+)ky38d9h{6lys#ZGU2`( zZ$4}M`LbOotmxd&__ma;DN`k@-mO^BQ1@?U`U1gEKbN}K8+B^*cL}WwT-;};m9j+1 z@0IBEX?~S+m%Z}6zH&yruGg%x4Ta`f(~d=o#LQS-^*<}iWkr-k_H@r(Vp*#;+&i^u z3E$OKtJbG8amzIF33acSwnOps>xHMxPUdXjRg-?Z$=_`ElC9U-taOX6-nx}LThmVD z-G;}LX20ARxM=pfnfJA}BsIQ|lG1llxt5*3?ZLLy`OBYv>+Z<>&$MUVop-*nU7ybz)q5E2W)|o9a#6m{_2R5wa&Jp6{O9$}J^R%z*K}@>f3L^+j;Ob$ zSMH{+HN9R{ms?hymh$A&*0k-h^KRUVt0}&nXU_ipoa=9|@AuBkJ#b*f%#H7KEegw? z-d*{iCae*;=Hx;)K?fzc-^Al6UTK$mZ@l=rC8=_vW)1=62FAX1;f`a$Hzn z8}QmvdE2gtmDS&>-p)H)SAEZK^@aCG?LSX-n7OQb!S8oP%4!T}4>b2M@}7Qt*XGnd zXDVmw-{Q2NcKRg<&eTduzk*j@UhX#YUW=FLs*stXo1^yL3R-=Ac}#E`C{y3uoVKb> z*YoQe(2|dN7T%?~C$^1`yMKHCo{n6vr2FsAzWT#I{+f!^KL4Ap(2#2BdZq4}?289kkM638G_%@e zB-RL-xh`y#QCcP!aP{N0haIgOrzQGJPg;>wBqilKt;?V-eYU^iF%IPdjd$vcdR5My znA~Um>4svTwQT5|3Fd6!DoXB3I~Pr|GOV06+3?ql%Tq$aZbtdarDQIyI(0E+$#mOm zrousvlYS=D=~+%)HjA%`^QmX(Ue4!@5?Uw1LeuW7Oo~tFTOvBGZjwYonrp9X#=?3x zi{)-zdZ#pcD%)lX&i~{4>Ph=_tEXYDvuVLHMe^%D& zb^Ewpcdnm$ebw6XsF~W$e;Q9|Pj&hC>e0%>hhDCB-gRxd&dk$%>}xikck+JabopEO z+F2L1To!D&y{t;N*zKKE-ohDA!`5wkUX-orEOPCZ-p0pLF8BBJlvM}x{#X>9@96Mt z_WRvWyfoJzn5}noO*gx8&l65A{_6`4*9py;P%NVC#?1T3O-FaKWcP-TCpfEl-Uss9 zTYowwb3ZF*KF4OA&(qcBzeze{^qgn$(Ho2I{@u5@h)=S?EV^;-gidTKT{_ko|&h_%TT(fHzW?t01esW%|Sw)gLuhIIv-Mz7Q zq7V0E-7S?r@VwDIx$Tts{k?zZzPQuFXZItg>7Gv-6R0k&fCk3g<_g8$f(?viK?lZq zVFP2iR@1-(V{)ylw&mQOlK*m^?Wyo1oV&{2_vx%QUw3C;?f<5$S{6&LA4>O^ar3$P zK52EYZC0yJWzo~~U6SeNcFfF6KR-V>dYyLZm!p^3R9DaIol%;7-Ff{hTi@O0_b((B zy0^$iZhQYY(~!G<#qE;xCl?y?WA|;S%(-%*`nH=(?82{)Zfwr}Uw`}W>f*wMRvq>DD<633@s3Cf7C6Q$1$Z{{ZPlFGUG#`i+j!Q z9a9Rc{-~kSXERgv$;6WrJ0`b#$Yn-PbY;D%(l7Gtic(#0(g~?4g{d!>OfqHcTsl3f z$x~PC*9?`_dHNVS_ z&uzvc8?CbCi(6E=GV6qnaR$W&#Yw$vX)D??EpwjV$rURSEyGt$uQ&a5t6Xp0e=oI( z>vw%$xF(A$Vs-uYN3*nNAC4@awRGRNAL*rg;v#b99Nk$O?{2K!a^L7_;`+x`+RMvLqGqq#wb1O!x*hK)N$Wd*zVzAvq z>7Eez<=^kud*6tKZaBD^izjc&5u-E8`_FZ0e%!|=o$~SM^q@Nd(`Cx%6gmp_dmlc@ zt2}2zpkjByr_&}WE2nMCXyf^OwqVs9gD{!gl5-84_Qa-_d9&@TpZf(r3wkmCWSqeJm7Tu7FDr30 z=)81SHWmJ`Z~dBIS5C~&*}cu}U`$Op8SA)kH^4m(a;;KPp!G1B8z^UYEcR&C67|@U z8Eot}(Mok!$@43#1N-AjqqaT^TjO!I=IO1kPj9SD^HUI2{HAktllEOP-`(Fdu53$x zIB!b#i*>hldHCNsySn_z&D{b1e^_I}4eqUOb*^)r6JhxHw33Xynsnvklp|f@$@|tw zyt;Ny%07IX&92h4%M${lL*|-od3}4mx$-36iDelVcSOIwcUF2){_TU!-1DOTJS@C+ za`NH2+cgivE}U5GKHqPT)uGpQo3sDlKeyfL$JGPJy`SF>F}wER!qxut^OEnXzkK@K zz2JVFe$eA9X9@AZ%%Awq|>taMmhxw`-jt%g;(#Knzqnf?v#>8&Bdb`lV;hT3S2VD z@7I#WIY}zh<7YLU%q(9i`z>`v>a&PfwW}BYQd=%*`+xb;)m7&rCa&4??`CTL^Trw3 z3%7Y)d7Z!C=vJol;e8QnW~K8T)!KO4=+>Iz|Be#53ol!RtX+TI>$LhN@uJ&nw_jQ((kpU@?Epn?RvVYT5rpHzguEkO|_!+=YG$cy?*lVeOh8$Kd|;>?coy5DOmB> ztmWaMb!KM-4hTHg{OBb5ylSJ9WU|}g<7brST$m%f{_Dq+CJmMw3SFo6d^(*rDN9dj zbKLJwXEoI|H#xC~^?W|xaO#bIpy~f#pD$Ye*7$P9^>Wvj%UXK2pBFv0%PqYmxXxx` zuy1zN*Xu%FwkBuagR1LSnP;=(U(T!DR+qH-%(k<6`{!;;*VT_Mzx%56K+E!r)t_bW zy4UZPs(5hHb6WX|cKN>9iQW5OHlFOQ*I{7G+Z`74FjeSF`2!}NFP4{PEIsn`v5#wC z^b5A$e_OfOclH@4=+3R1$-Z%QT_h9F$v$JYz0YgE1nxMUV*UD4(A)-&LtOnvZ_b{t zHTrTdl)M$1ICFL|&6j@Jxwvdu5xCf?RWA0FNM_Jn-^FgVS;4D9SB50Uxu&FPUtXiL zeU@Z((wdu_!w)XnlJ)Hfr(nV3Q>E5otD`0b-QG3z^z{6jyL{g_^;BJZdv9OIbEY`0 z9m01yu?4(#O~jJr3<2Qf&P)(p-DgAV$%hS|+pf$hPP6J%o2vfws#?2*SBH3XaalzAH0e&$q&=YbYNuV#(k9DE#<}^5ibXD)buS`t`SM1sr6pn$xg^t< zwarR%S#|FJxAfHprz|cm-BjzPJ>CD%t-Gr>zk8)IpX2W=?bV0kZfY00GR@AJecI^y zgN+C6b|-JS`qyLa*5ahq0q?c_!+7!KZ$92A6Z~GrEvR=1~v+;G_yn}|?FZbN_ zdp@D#`J>&*khR;rR@B=cft>gcynHyCe-cl@fhFx73=r1 z7wZ`Hd|2llvVU#YnxfGK><_gJ~hzV^9kS0eOlCkBSacYeKoBk-!_0Z}-0k<~sTu^`_pO@15L2J8)4-MBujb&{^4>$>OtJqw z9tj+$qD`x5J zJ=%_ta+uDxA4vk~3 z3;iF>?ReCEY-7g5ZWAdnWq;jkD;_88of>ha#`@ij$A0#^#8M_~5xlve+kKHmO2}zb z$tOA16V;wh40)AuY--T5ZNk%I)hZ{mCnRM?`Z7(iTpDilcZFInqulnXRr!Y`mV0Gi z^?cls)Yo!#TGhMG`1$p%M^hF^e$rg-UN6=8qOYb-WZKmJS)B21!K`5`r)aIyh{_hv zJN2}9hF1B*g^ONQEOuS{aeCH_7PtRbv^v%w@>;ZJ*{-P9Q~e)l-Cw!;+RUZv#jGUO zY}lywef7HIeYX?~PG7pUX7hHf=p`F3zj~?aa+GQI+HL2fZYylNuN0l@bkrzXZ)>++ z$=Y47gSg*TeQdhD&Z#3K?EPXbr`hWpf3sCh+n>Z5^YVc6&P;B#JBb_lZgOd^|2JU#Yk2aU74)38y}vqJ0hTsz04pJiKG$Zr6pkbk10u&WS$$ z^wFE*GlHwm7zUbM|MmHzpwb@Wi?8M0nq2s*xz|L=HUHO_%k1ao7+k&_S6f=2mXH#1 zwXy1LX>C;apMni(vt#3KWd-lezMUIg&g5y|Na@=UWh!8zydOwUU8$Q=$`pM3+KTY4Yc5!H9xtcqb~eBOkk@$yHk&a}_% zOMf}%q@L{CIg#8i&TGBU`+2%KmrwZo#QeKOiQCLsejPF4*zo0@gth!#vbRqluY5D*5*1pJa@6XNuZ};d{oaQl+`oE$(#8V%oZk?a^T=Ir|Q)i>8 zLNj03jhk5^nidO6#mY1!Tec}~l`oc?mLbt_g7NCKJhg2VkMgy+w$AJ}dBu9yKiM=Q zx&8RhE%*BzW-YzzXUWEy((kfv#o~!#VaFy<@?q<|F}ZxAXzB#Ttk&yOgHBDKoE%d& zbCGXYTjrA~mNO-nPPV9A@NA~!HI)Oi3yxU^N0(fac;Nl!sb_LigWToT;zZE&8zOw%CTxahdP7e1En& zujCI`>-zm}zm~=9XW5^9>>!i6%?r-wVWtLKOfD=?JHY7uW&?+4`5D!vAC-Ixj;ln+ zq#v1nF8b4{B)5Oc_?*M`6Q6hb?&SV*QM5Y3cw>i; zjOL|)^EnSLXiSzay~3yGd-3emxZ1B*c5q(ZdOiOB^ov1$t3Azbehb{Y^~S+>N;@xkhFXOvGf*Xe$B@^?gG&(do=Xj@Cq1!ZZ+EicY5=4jRm%}UF-xYTjt zuNJSXnt`jlmp(cYwRMH$y2!1kSh%mA>0G3=Z&I(;wWm=F(=H0-t`f_+JvCqOqOJD! z7o59N-p^C<-u{wvU+vR>YrR7aJlD1I%KQ059!WapCELs*{nOylsVU;cSI{W9CxrO$4Q6nj7OmC;ReIiSjAzI(UD`~3lv?PL0G z?fm-qlJv7_xqGW`?YYUG_kaDnzg73{A2@B4AGhzv$F19sZ=ZjEOIE_!S0~SZKex-^ z&+eZax8JX8znUH%{gZb^LPkUHvd~B-y&VaS?-koanuOABh_`N&-8v;vs%^)@#>Bs0 z7KSP<+acAN<9jruMJw&a>{c5`iO0QLr>?l%Y4AuxG1=Bobb7y?8@ou1t&rxzzUa40 zRVF&T<9IYVU{U+!DIvciuKRhWt$aAmQuV>p$qA24)MolzDp8x|c1h*Htk5zG;oyQ} z5sJOKPs5gXl|RZ9O02$Bc|SRSp+rW9@v@s2E1l(5B`wmenj$`}?-<9*C9OeGFMBU+ z{dp^DW3HEK+5AIc66K3FWv04Ln7b-|l~>aLvWY8q9o)5S&6;^T?ycUICi&Fm)!SRy z3sT)gbXFaHw^GBIv213}n$=cEl-Hl1_jC1@%VE)(8*kNmtlf6aZM8t#1FKbHE@snq z=Po(3@5P#3Uh@?4g7gpV*4zE~TK4;ecb;iq+5J1KQ-AL-wmr{x-c`yhSWv%^`}(1b ziyM~B=dR^23^Ym6DV)Zvo?>`Js{PEe!%mGdpH3D|T66u7`t~`7eesgs=?C<#?i^lz6^v^~x5Ub}l>ZOqA>_h-!u3`T6rSq3h%A?4e{IOS2SqzSzUGyUMBQ(GpE6?TPtNv zHs4&={?9lnuQV=_iDk2%_+z=#d7C-3ws=>aRr4rs4{j zn;fxc>7E5F#{9=>KWG&sQDbFu0_n!@(#=0^ybhF#uTSlvAu1`4J zw)9k}YUoDwORGY)uVvkwlzwpCTyJyT8*B3&?Ra;GwcOv|!2Ek_c3S4We(#^FM9=In zOkCP-sWxr*j*Y1Y)%Q8|^%Q=(zHhoS`?;7I8tL8ho_EFBMj2neEHqim@AR&+2bY`@ zkE>bzZh3pZK9>FJ-vG1JTL&hm*ZIaMzJI)LviI?~+kSpNKXs}9bt{=~r5A2(E&hLA z_Gk6C508$Q*Z-EW`Ssz@)=lzVvOjiGiicKbFjI({=2G9t ztdkFYm`Y|oF5 zbtOy2f~H$9pSu-u&V12Rn|JeO+!WiWr;Ee`r55*0`{l80iAd$P%;k~0A||fjm{g^? zLU3c{oK;Cy|1Br3{(7)0Z4Tc>t5s_^J~}m_aO?WpLSfXhv@-)uFg%hsE!t|6Vf>*hM?cRM<2)ZWiq z+ME4;Z|Sq$IsJcjz07z1`cC>oyh(tifpeeS8*yF%^*vgKecqd*6Oy}ruMUvq{{88!WZ$0X0Mpx5pU)foUv7Nz$t> z$tCOdmKDh!{JY{#(f_uHTb++K_m=0@hv}@iU$@?D(%q1@O2dbO@s4E~YKrd`volZC z+0Hd}Id4g_rl+2i(9!*ITB%2F@{?Vs z`F3+eoSS8JWV!I!Pmh>PsJeUVLj%X0IGR?@{@{GSwgR{tkZ`xwl=}TW?N;Zs0K)#@T1BcYc0y%GEIaO3bv)&o56DZWoK4xJB~v zie%|+I#a&7T;GuTTFmkGinkqo=8y0C&MA0*pTBv!T-=@?g-^Jr?oYdSXJ^<8#xA>M zad&rx-Cwko`~Uvid;fgDHKQ{Rw8rG;vf``#@^|*t-u(VxIbW>*{(bd_V(*Gijrgs5 z{9Zjr5ZkSwU!pUjn*_Q7BJ)4UK2<0eOskmQ;H+4hSTEV;aidB0-xm2crLGmXQf*h3 zCv+J|9e)(;G*#?zZ>#P0;NJBQUnu7rKRcq_VSmWucJOS`pN}V6v3e|-WH@ccp%UKdNXT-(CNh+ zk1J(oJ0JDCp0zn@*~@^9{6VjmMs3%dy>{DGyVVnF?l(m*-FlIC=IWivU9&H=zj=2u zx9HU|ZT}0&c2Z}ODcJpU>FXy4%g%AX4P)Ev&CL5y&1T&e9&xje z$Kv^FE|f@S@A-HlC(7nsm}LK&Pe)cVsfQdnzD~#ZsA17lqf@`ntugMA6OLKF*NWY@ zxW%koTI9?MuC*o?)r?IE90*ANbjRt#`fuZPT`>?AWia{^rtUH@-#I zzP)~MUhTHZ#T(zQx}6uEe$35Y-M9Si(bzq=rrxXmymt1Y)*z{h2hGh>zRzoy?~7tm z)?N2>c8lpgL$-7dy_pPZo^dMAnf~rEcU;76J9ECp`)MJsc2yPxybNxR6L@1R|7_Cp zNk9LXXZbx|^W|#mYo4Dz^LF#qyfbIF-^3O7{@kWFH(V(=fdFgeEY8V6vvu9ZDvRc) zxp0VH*u3KKe2}o-We8ur%*J7q|mGB^}g(4%d(08TNnL7p)3|hlg7EmH(}hSaR)HuD?y& znaIzVj!d;S>RTOY{QUACiw-?u3*F0R}s7q|C!=^O6tdH>Vz&E4^8>w~S&_0I2G6MJgm zRc`hB_x@D>sGrLf7q|a^?Vp5~=5h5b^UCAvJb67HH09sDIy<;Tb%$KDh?|>qMj+>j z_*NOWG=&Ch&mD>FD*H+mJ0drl#&+uL3Xk@ex^!KsRsEM(Qq!HYD;^h{GfiFGXYF)i za+iZx=G+O96VskdDp=@oIl;%MGos(eHFHUft&-B>siJ-}gPUUFIzze~S|e4a#Vc)H zI+JIX>$9L7rp{-+UTY=O>ut_Gc|6xKNn>(Q&AA^7dbK;nGrH>-)xxH>PqWZaQongL zW3kG$7fakGZF61OH%(|);IdhHTFb-a)_$F}!YxYcRz}}Kt*71FJ^!aKUoCTO#>6#S zX1!eMy5rfZ*GqZ6zFIxg!%HP@_2ErBvt5pJO@A}D*hpJp)A?hZZyZ0Zjaa)W+3U2} z*4ss|Gb@Ceq}T13koJA;w&#nu19!gJ_WSh?&dwi;_dHrveSPnbbF1~0W`3>Kh<|C; z@^}r?{K$e0zt!$&#NT}Q)L?0vi~7eSRTmwaH}S{zYz&ZUms!Tnuec}oghsy1((RMK z&Hi-STQ6tBEWZ6Yn@<^Eiq>DibpK6pciz6!#{2BVdyU&;Royr5aWlW0cwQ1F>pKd5ReKziH z;Np{Wv+q?_Z(ntP1ruLIsXVXm%7<;@(;NI#_0Cm1-rc*TVg}P5)5;S}EPb;)r@MPj z37N?5Cve`+*=^IJ7IX7}7rWQiRXtIf&@1rD^|k75uMMl~tlzG%^;>t}t^0t%NBefx zJpsG5MXEj!%9M-CCx_O)EOqCCzWDomrL{xjFspg0H)_rAF^e zc_?Jt7@iY5rTpoJL|06Dpawc8D}iX)H}>5)d<+5%bd3G%QUpO(QY>`&W~zWm0WB zq+4a*l_)kTE$f(7uGZI@)MfDLSW=kYp^U|GD(Bpk0~GFMEbg&-G-XPHo!H5%J?4s+ zW=-_rYK`dj+IJ(R%j4RTDN};mEX1dHrJZ~-&9e9D(uoONmQQB5PMi5;X2!1-%ckaR z%X~aLQMGmH98N3t<l&Qz+Z{`PYDw5WqBvlcX`c`WeCRGhV9k?5q9`HTDAb|g)e z^_>;IwAgJ|RKo0{U&(#EX}4A+FPil7zFQJ&dHO2Jxc^-9+_p_*e?6t@TG@)V+tVy1 z-L}5EuD$MBph!-`VWH?(F1zo2%i1(ok2`SlA*a`>b9n>1*KFOFv?`$FTv50BHtt^W zbvueCY2RzzvuJkS1P|VocQ?P=rJ1|))4b^SyFaYkov`(H-^z84>Uq)|4*XS8(Lcbh zY?HmM=H9gr3-;J9xqGC)EOp~S;ma469pn4jVaTge{YEvOKQSiaq)s*G#8U+ubvB=L zv%52a!GPcN^Ep?wH~LFoywfo`tF(x9?p$8}wO{6&S*xTS@N)MxX;F~>E4+7+*V@uH zyZY`eyQA7|w^oKm-%Y)c)UKOwGcDOR<5uST>m|4E9OB(xeSj%-?cK8356sOsSMi@V zzklU#Zq9=Ze0COv>NBd!u660pi)LDA`!D0k#KUfu9)C%ZB?D6flt$9hw*ERdaZ|CWFQ>$h0PEE0cjo$_&> z>{hOe##>9~PE&sW<+GBBeeMI*WC!O@_q8*vPF`tWj_<%Ag1P(50ygs#2l=W#G%N5d z z?Uk?D3p>uAyC)lA5^!6v|C!yv-8*jT=Na=L$fOVl;r+iXwo?b%nqf8pHgw}L)>{eHi3 z??ZE`kl!;m$~6hFbw~#CN^v}F<-F$huud%L#li;Ze@AAvt2C9#1uI!aJnE`TY*$i> z-Ke1)ulJ56q{sMFhrGY}tcj0%j^C_!-0$#j+2uNyR~8F=J=9Jv%6I2``J^krP4(#% z)h@B69T7p9PkepLemg$)lEewj8m`CRAq zc{NEI3)|WXLt__||9UALuBGJlXn}Xuk&MNCX_kqZvkSvl_AC_a3S9OlcUJN&@y1^Z zR>Zk!1upx%Flx!FQ#1b`yT5SVKZz%~r!8+}tzCTRRKU7jWhYjzO*wY!!J5Nmk*Nj8 z*}Sti`RQfr^jvY&UbcmIrTUt!N1naBuyJ?M>?P9#LMvA7a7kJn(0G24bneF2-zwJa zzN=)kcG;JCo_X6e^JeGox~He|et%Ax)arFCzg?N9HQTo2A5yxY@bQr6JO;s~0{&|Z zCw{YI*?35*-6r_}ckP+*6B^!gv^E?3oBipui2ALMTi!Zxe?Hr}E^FCV^Y1dB>v=cd z*|ft>y!OEvr|WOBF8cg`6MMnx|B@{$e9e93F9j+aZCxB19xHc6n00IEg4pu6vey!s zP0Qw_POqK2BxcdAvfD=&_O8Aba^ClQPFeWzEynY!UhB?g@8dW8NAe|&~7f5=_;R9_Gc9?ohp4Dyjp+dEJ^QeYa-W% z9$Z#awQcR~Em_`Lxz(UE5Gqa|>g6_i8M#N@g+tC~$A`|1o8#q?F{PTYF;`gV)0@LXNN&B=ET zxE{H8_V>dJo7OfnUyr@>@Z+&d!OxCvPXFI`FLu}cy){SG z_1E9o9QP&c>g4qEci%i&`Len1zTbZPhrj)fF1?@e8MJll3L|S+8LQNb1sohoqVfU1 zZ8H`oGO&qWZTJ)WVqt=$)(w$%`Dq-t1C)a#W_0RswJZ6nY&)S;VI62OtH9p&&*rKnx-MT(cIf%! z2yLaR#E#%NwQIe7(>Pwvm-O|@T$<)};$ry;(^D%u+xK={jQLh-p*1}sPDQG5(YpUu zDzindE?c$6ZkgG{wHqJJ%3dP)@zv_7^RE87Q@5Azw({C@vfSC5PW|iBbUwFE{O!ba zGi!xS*PCYMIzO_#y>|P7pls#sk0)8{I(@o3OK)<9ks`uce7xZ$pwL@iJ!dQY)B9-KcjMxHTw-{zUz+4 zi5s0d1t)dlXMPNueeLw8GivKQjU3t5`xu|i{${4W-)tMG(%ZKqyIb|&vL}{9&bypWOlr{oy)>nwlq6s8TUs}pxz_FaDIr2d`XXO#ZPO@7PSkr4Cfru+X-pJk)v*St}xsJ~0-1VC~s zbOS|3TAf%V)3IW?q@ZPP!D`qZoZPhaE*s}8SGVf-)xn5h-ugngeILmU@)mNc2 zV>@SA7A9$5UlSkOW@`PdrDMC&sd;l}m8FJmi#~bi?(b=D!d8{~1|7Y9P51uc+Ou}N zHbq*Ao7x1u`?RlXCQp!?^Qcv(a?|ru0s6%v3Xj&G-!sR$I!^X_Nzg^9qnmus?)vs{ z)564PlV6v&y}w$#_tm@=U$+;YKiDp;U$^Jy!zZT{v);bl^DFv#$0F-F>uyzjelTn6 z=l?mk?*9IM&||T=Z1%prkB{!!IxYWxjPbWG(|2B8o^SR3@10EF?e`nD|NVX|{FmSg zg_xp7^_UPQJ&nZp1&kU~YJ}4~W;P0(GMnG_JJjP!kVF&5qK=!f8CTlXggEAP*}c5F zsB?$xjLTid=Q!s2SvguumC$SU z?%S1Qqgktz>%>$4A5&ksbk{D03C_OhV(HubUfy!uwJa=qz2rX4z?LJwBA*o{sqS8} zkzet(&b-rJ$DeIU4%;o8e>iFO;%z*huXATV&Q4S)k;@G!hZwwd@{h{Y zcNZQ^e{}le39;wV`7^%Pd3`$NSr>ER(B5@A#V3X2O5bEkpSLMKEAald&Mqr<-_Lb= z%`$2ioVfSSKYJ$cXu+j`?Z>~IwOx8g?Mejy+nDp}(RWj?MMkHyZE&fyRlSiAe!SGh zb*8P#t&Ho_18;9T#JjyP`S`QRtIKYm`y1_U?|rNM{Nym+45h`JNU2qol)|G;+M=Qj1uG}DaS95Z!W?CVXsN=x$}&a!O`*NL5)`BBR@Fl>F|zKpH^Okak6NI2A{ z%g?Riaj0l%9NSDu{ls(gf|a*f?Mi-md`0l-xZItk$F9##K7B9t z=Zf5(FxL5cdv^bLa<8K$A2zIm!IQ&O!3Uo4sIeNE-*6c4AFm#0SX&6Mc% zES>qZ#-UAf+4PjQ)Mqno>LQo<=X`siHaYtkr*c&EwM_NC&_hR_&a3(NV!3|^BiEyr zlY5WMS?E$UBPgNgUZ+NKnW)sug?(*H;^U?-(ny}aJ@i!Oa?QF`V(y=2y1klEGjT;= zH0!$mvr_sbD=$Peem_~YxJ;b0AS|`7cE#(-O;WBaN)Pc_r#6YtT=8aURM7Y5o7>K5 zUW~Zn#J$StYwGH^D+PL|uHK##^?E|<6SpkA%5%$3zu3jy`TE`N%uTN!?)jotrPuiQ zk+#~rJ9l5}FHmpDejhuHFJ|4rk8CRq7BIYj9lW1kcy+$>pD-N}UYT-9!()8mXFi@V z(K&6fT~XWT)2Yq#<^&wmTCZa~OI+UO)gGhgcRsE&z3uaHvlV-6(c)u%Z`NP%Sp351 z6vyN4FPEL|Z%o}%u#5Za)u8V@MOUB1y)C`MkhOPfP;C8M)25{S-V^7i&&oBcNi(Sy zx!tzw?YHVo_8RdEW%qCP#@?%1Z<}+!)>-`f>X^x177x$woK~@9)B;AX+~~c+H;v?0S4u6oup&8+c+Iw-b?38NxQ#pbNJVr1&nID(zkxzvOAsq z?7PzUES&$haL8Txx;t`#a>&lalg4|mTu#oHG4Y-19&a0S>$R=zNv!~r>L0JC5*lbTtUJ=~vGgFII>g$Wk3qu$Ci6*M8 zzPj3MubgSIl1BJOw}Yo#ZckowbH3;9uF%($bQkSNz0U+1aKAex>9Lya#PIcz`-)co zvz-aa?aF?CN;jT3*2F2^r(?M?>9m5OecPFxU;K{*I#!GLhHZX%y}*9;xf4;J({3#N zxolqT#%>U!SsfV zzhCdwbGk`fNqMp|RiQ;FZAWZuL(6uX&#SCtb19Lx(xc<7j$~; zWPRK#{pos=zs4htM`aO;R~Ppy8d)U!=?SfTQgv8S^T{MHwQb7%0d6<%`HF{mE}7!@ zZOPMVI+skYO;0eB6bnlEbwYJo#npE*HMkB zm7e)sQNxApgZmJ`{qg?V+PK}as=9D^yl7VcI!#Q%GTfg@X3ju`K!McS*5 z*;}WP7?aCS=hbej zNiNR)yghIC+W7op{Ztid^}0+H5hQr+G!^EYp=6SA_HnPja$V^~-iy~0RVN6%-^pyV=YrEq>)LZy*|}=IsOQhOxp}$Up_!}g zv}V!Ar%Umk;Z1UGhYZOr@uStO`7@Uzo0p%TXVvWV$8(EDz(NmBsn}B{nE}fJW?O;I z?Z2|pVD+qK{T+hLVcHc2Cl1A&SDUw{B0KrGjAH&&pPj|=$LtOBujI6Cetx;$QC>86 z;+D)S8$v&)#0DD2+}QE`l$%SnQsCj#V(#nOyUUN`>oTvgn7 zVKV!Czq_xpuHE$3{{MVmO?k)%yRF{p{`dY=9={pCdHFjzo!dViKY#sPvSMxUpVu$d z7sO{=6%VU=#A@-Nsa7{lE{r4Z_=6T+y|S4B9|Kn?HeUTXMWlo)Ph$~BL+p-V|3|$m z7UeBW>`3a+?z%C@@8v;>$8E-sLLT>;uX20bXLIbu;y#UOVo!SIgig-ybS^&#w%KcDWQyHhQ*&O+`&q!wpy;;~FB(NJ-+bF?ca9T-k!0Tb>t-Sk*FBHo zUcEhV)~$CldlGl6Z2FuOxqi#{XVU4NfAn6ypPR+1^YTFT#Rczo^DuU9;4pDn^I>Ac z$7+K^Lg{DL9(~p}`{Qxp`x*L+|25?l_3Zz2rErtlc9~6WJgciy_vu~dDL%t{{!ZRm zoBeC<@B5~->C;MEaodE0LO)HmEORw~TU@^H<)1Z|{m!=+AMj@PGQIjXmN)-edEQ>r z^0;K(H8+x`yJz_)ba$HFIy}|3Xl?%fxwG$RN?T>#Ej@nf+QchSpYMLplxLJ%{-CLR znuAB%?%s+=os|YbkA3a*439K_PYs`Om{WnFdQvjG`mzq=9?ec z9Z&s9wlfb(X*J;f2%Np=TQyrjvo||>_SOey@73WeBBGtZ*?V*R^tRBGTVCJXUU0U^ zbl0~ff!iV3`~AI5(cRZnE2qDX+}|P0Z01~2aN3w z*LLju{QPp2WU^fB#*(-z8-lyjY%iAHys^V|#W&C0W`TRQ7eBstc60fWMF;#j#QkI@ zeq6YpcYoZx-9JMgU$pdJe(p||{~J5y{QuAQ-Kh$>W`C4j-T&V2S6d%$U7zm%Z&UU2 z50CqopP&CcW<%mj(Aj9;w$6x(;EZ_CG&wR&KHqQYami*8t!EE%oL+`MZ0m^q5$E@@ zP$Mbznxg2uBIRW}!aMzcnlJ1!Fq@v}pLQT)ai07okw?9T@0MNevsvXK(_ykmV#$R2 zZ=Woh=-&5Y@uZGDH&iAab<})1MaiymvcFH#&V|#=TA!zOtrC2Be}hFHLz?85n(_aMh!wKT@~MtXgzW;?|Y+mJ~)Z%;<{ymr;0n|? z@dih=73}6J_C9=sM?RD7&=e^hrlT^Gtv8fOy*~Q!gy`WH2lqC;^8R$nK<;|*k$s>( zy7V)v+&S;httmch_FX!4uNAwmaXr)JUq!o|)MFDa>V0M@Uh3&?Yf}2h?$73}LEdNO zF1uOt=3a}uetq**|NER~H}3S->MNx#uKafMX<|zHn*9B`b8h)A=PA8gcKl*n`SmLP zQ|9+K%)KCZu8H68M>=Os%Z@o++V3JC_sq*IdooGAY?DX7c_!O4k<|tkNoA4qW-~Bt z*lu~QOju<3wQ5d=6)!jJ^!uGT`*vOF4UWC*w!BHYJ8#CG@Zf9u^Bq?ge14~+Z6Ex6 zr~Li!F9((E4cSZ>_(0#?m*@RBRkG&P;<&4)=I)-R9kyNh zVVSG;qV@OpH~gQsm0Kh~ZgKTbwzxAD1vd`0*;Z-H`l0jq^z_$GeP;wSo(j)!POp12 z`SY>)^Icc(^VzXHvuDNGHS=_5ZFzlN#P;&N-kWAYcZ8BZ%k8^i{-I-|qj3DY>pwoW zxlT2n|8Do&&kXaH`lrX)YQ1}N`*8RF7w_h7F8KIx{XdiYlUJ90xpT6+v|4Uo?Y!92 z>8^k8?W-3oooGJI|J~nog@jqT(?sgo%`_six9fT&)bmN*m>VP<6!EY=TXV+c7U{Md z;ib-v8c7}JUZymo~e)bv~WJyX!=%fAFH6cUtun z)n?BY6Z;w#Tzo0>L7-aX)aCOm4@pj%Z^kt1S*)z**69oR)FPr5r5?Siw)pnM8#Cjk z21+ej?3k&te97djuDJGSHuuP^MaLr2@|N#f9zD%7W7ANVq>(8o%w3bmvbBc$vbV5 z{OA7Oe|>jy&)R5bt~z(|lg^g24_i$qPPxvvc1wlD?Ab*Zy!3r#&)6$3+B7*Z-S+F6 zoL{rPUOy99TXKD6U9MRnSA5Hs6=~aT=iE3RSDSRZ7%T5jQ3yZMV%@+~vDh=<%S{Wf!1oBnYHsx+?Xc~t{l}oWobkG8vADhmzw7sTyk~Z7ynoP@ zw_Zd+Nyq=Fx=ePNkHw}Zy>fEZzPoppB%iRe&wrD7Y|HEGbAwm!dolU->)W#fmFL=i zOwYb^!1Di-ySvLiJnl(WR+78;J^#st-+bwQSIVEgxUpVuIo}t{vKOb;e)|8e?r-&% z50C82&GX}am+ZNAbN2Q(a&@`JPoHj1_uX%B^~Wz(jTw3GZA;_pnA9{5CA`R;KBbt; z?T2{dZeG>}EfUvQrv$Mly-1AzYsn#+%~2m`JKWn~`!V<=ITGQxTvQGcO~(-ENAdH}S68a&@lYFY`&E_dd={ou|auHGe^d z+R2Fv+m)miwn>*=nGzXpr4`>X>6PiNq-j+hi`+_sqB55=3e5;y;a%jV)nk5Xnnc=a zuKzc+Tvx0TeLb6 zxA=#ZM{c^FB>iUFwX*KqSzNLlYj->jI(>iV3q9+#+Ztu*K3apq)?yq$@Q zxIdlb(Vp?v$?mI{)+qz-8S4+Kx^sU%tGW64hFzw@-Jj1}^`9}CWA>ltOS!i3m7*&NFIPW1P!NuS6a{_4UT_nT;1O>G%7Z6)f=TU2&`6@i)`6 zjrTae-(7$9Z1LUnd#B%S&rGX6A~nBGeBVrVMc#d-58KS$COwLXJGkSJ#tH%R1kOEI zH)k`cG{`<;G}z?Pr*y}6!Xvl;OP@cRJ@?$MBR3%Ihs`%Ub34>wm<=m4W-Xve)E$xnyT;|D>^c z-JPpd>FfKS{Sqi%$LF21QPIzQ(T3AWKbHjZIZ3bGa?D8NP3-lmmCrU_1s%{5m9=_t z?Bl+lx?3F<&DPubRI6m&ruUO(>N>r;7`=Y)S-q0^`+kdYzw2gT=UEv2_Z0V%gUuHo z6ikk4wAMV#7w*$MK``HZ<3X|VoW;@nUr%n}key!hu}fg8*`|{^)iXBiPk(p%(;0PT ziS>u}{hc#9>R3xew?wiHHS)<~@XS&bO`0u5+&5UcUQ#fb*wt8c{`aoW>PV$34 zJ{_O`)g-RA=H7c)qQl_zOp_H8_LdQIg&tA)8)-$H#Ua`pbSx?O^2o{J#pmWbH2-@8 z$?WA~(9B*5&FuDPGfbOBCtjTqvb{@o_t%%#r}>|p7jb&q+8e9V{jF59m#yvCUGcdq zVzp>y%w*52o347#_|Un}{ePE>)wZ{thbHhU^R4=!{CI7da<a zi@P_+GWCU9qu=q^y;b3lk1u8azx>|Z%EDFqj%q)T+xM&T%lxC<`T2jXFPyq{-G15q zdF9vlf7*EbenaF>^^lmK6U`qqRetkMFw8-J@K$( zx9IVZCY5C~u2*_zsxRu&tg@IL61kTnx$FE_kw?8YR^{@&R;<^R`|TfvEa-LaoAKD! zk!$9Y-W8s$Hz(WZMP9B5`6jV+qGKB8(;idC)+N(L%h*(u(k85YG|en?xmsVsxhKzN zdx=$shLudpNSa~aJ5#;({oazB^JUm(T?)w*I<+vqp>^qsNo{Q{Qz!T5{ZR0j92E7k ztzGs-VASQ@UC-t%h%KAF!eG;msEl6Dj;x*~*Zv=SRk3d0u4kp2)Xe9v-F{1R;>x~{ zzm`nhziRpX4Us~>C#>UAvR0XW@u~aj`RA6s$}VH|i`Jca!D`99b+@x5pF7<*lg^uz zrlg*@_W2^~Jg3(|x8F?{Na}u8^?B9JwN8xBey8pFw&>)#{qK@a_B=&pu$K$qg-vW;RtjpPS%-rdV!4dWOYZe`RQuea&v`K%& z`n}rSUZ2ki1#@iJUa{@;=L;JA9)(+s+P%MAayxux!VE8cUDH}~=C#4+>b=&MUOX#n zD|qEZ-rmykv?pC0*Rr~Fx0Q=G{#|t|E4qE+ZL7nw=7p={dRN^odw%=bm+PMPr_ArK z|NA%kK_tK5kF?bKt{=0zwAamKpJewg^~pqMx1bAg%Q`EMXsp;!5myu$H;aLD3plek zE#s&W7TI#GV&xIboK3UkB%iXLU1#dFk6*WG!LG+ge>-j$pLXD~(dRWx+d8-P9Q<5l zS7-Bi{qwC>moB>Z9Q@F}->;eLc5*tw`!Y$*>>h`NrWw%Y^tI8-eYA2Pt=vaQv;R<-1+F-`RLsFaGyJW2A(?~T>v+_ z0B&>v+%Q}K_iA)a`{ynXm@ayPV?xSb9 zkDlfJdYGQ&zInO-=+!HuSFem-y)s;`UfI0-JUByJjoyhiO=9#;w9z}!hU}ea=SMFr z9lfx0^up3%c46u0#p0tEi;rF`KCCVlpYPCY<>Ins#l^)PEo`o*wrB=|?nNr)nhLoW z>BuS5)z_wkgO7e$Be^m@&`Y;^(c0VF)lV(*)h>D)v7_SiG11#o^gNcA-|dp{*|Fi_ zq1>NJUvF>Jyt%zy*;{Pmbj{@6KIZLn&-^TSx_G*Nni%)a%`Xq7i?`3SxaITm@&?W2 zX1k)4E+217el2FWJL7HpcGLMceD{=Jy3f-*`J8Xf_QIl zKDIIAVYi8tn6kg_wH1#O_D+qsQe*w@#$!MGU1BK{wg}!_(Cxm+A|>RsspOL!>xpVl zCx*OAIW{$D**4+nv1*l**%Oj7BYl~sSS}4W`ny7{mr-u})T;bL63e}^uX;Z2Na}03 zI<4wmXZ-y7)}tv4BtK~`cdwV~e9>1^Co*kn|18dUw_w(=l~c6VX+&j<=bd_5JVUGe z;lf3)Di*u0{Wv{qMvL43D_R}v4|y$Gvusz?>#6>awC=CmeQoB_^-=?TG3-ZdS!GGd^#^(RleIR%hDh_NBj^b5c+C z?VL#N7w5HJ=>0t1oXaPCeq#RJqQq_HEWeJJaBTSUPQqIL?w2c6y;$5Qo>m7dzq)gB z^K#H>PIjOy9k|%3RWA0FNG9mCHn-ZW;8me3LlWa$Q_{3AuhH2)OR_p?&CSi>2N!M0 z`gVjG!rtF@-^fhv zk(=?#)@En%optg0(O(pjK0ez%FZlT1(-9^|7p0$-a9g{}EarlHthb5PwQcW@q!z!H zJN0{e;gKDkeEB=BocZ{?XtHwDz7H#MUfl4mj?Md9Rrcc2+Fk$O{j=R2emZOSWxfA@ zY^qj0xtYFxkLa4JpFeh9;-70`_wT>b1<|-b|H$of4gdd|E(qFF+5Vt;&DL+h&Fpp^ z2`wy4R~NL(Xr)an5dgItKxq!o+G)bFJ{=+aWVF5GIcN<*g0#WEtfUH2Nx z>^|$L4rzbONunt|lFydNPjI)hSmHOqv{R+S(ol2h1lwaSx29_AMNDRhDa)Mhv!V6m z!v@c7SLPI_S#_#SReyR_tzE*aLp-{;EFyiHbf;<3JkEFQ>h4LAoG)5`*Or7vw_kga zI=|BOW=3zd)2?S}ljS7i+O*liwF_ODX6MX4ZFK#?#)Eddleb*`>#=rg zanfpm)?G!?%eEhFie9_pI^VCi{SOyeuiM4h_&RUiK|}4Ad+z!@pV0CA(eC6(=ew`- zxARL{epsk3Qe%*0a^b*Ic7EME;fF=MIWJBV>UQ{ejPL!5^?TWib&PsGtn&`pzqV^l z(edv)3~xN{o%YR-7nVN+U4PY=j`h8 zCpUKo`2S&z2{*X6y4AVPbxwrg>u%RP47+e*vHN_# zJywTa*KN-JfB)Qes~=Yn9QS^HJH+hThYMHx)6Yx3tN!xobN7P#ar#j|UcTIZx1go; zsYuyJPK^f%d6E?hbzE*YB$_vBeoe^b^jeXaw>6`iiOFd|GvzxP+FD|-mX^H zv8YQ+?|4jiaVm#$&#sFRAsyzccFgqu|5YO;*8WqASikeK9})iSw`QpHeSP@k(d3X# zSLgfrD@HEu@J@=nIW6ST*5IUsFwJFtky9nprkHRpcs7mY+LLFqv-?~x2bb`9KA5Vr zclz=Pccx}sO04Jed=y^2b86Z`bGcJW9yJ$_W=xu8dn$0rB)?xv7Uv|XOpl+{bTYGi zrR=xV6{*i6Ue&H%_)BfMr0xIZOIKH&i(&bexqBN&WHC! zteKV0cT{WRX`@?fivK%GQ((kpU@?Epn?RvVY zT5rpHzguEkO|_!+=YG$cy?*lVeOh8$Kd|;>?coy5DOmB>tmWaMb!KM-4hTHg{OBb5 zylSJ9WU|}g<7brST$m%f{_Dq+CJmMw3SFo6d^(*rDN9djbKLJwXEoI|H#xC~^?W|x zaO#bIpy~f#pD$Ye*7$P9^>Wvj%UXK2pBFv0%PqYmxXxx`uy1zN*Xu%FwkBua*X5dB zdzE=MJO1Uo+HG}7o6l@Jo40@Nwsc+n=<>U-N)NOwzgYcQ_O5&VZmEg~Cq1W?uV|O= zo1NIb|7GLJ-g+Gdw!Gb8K@U@fzLY;;;`w5EX~xncKOg(J_C>#7>;1Qti+yLGaf0sL zx|!@7SJy={@to{4X50I`_DkT7(<#=kKLyQg;5fw9Z}jHu`C6kd_d@gkex>G>g~38J zIcm|O7+yL1fig9Rpj?ZVs>ha+8W(q5v znUZTY?dh#$0T<<3S8dC=JthC;Jlj*@M>uztz3Y(LiKGom)M10AKloT{lEV9-_^yBA06GF z`uf(NuU|g6u1UXtrm)Bkr-Ma+Wx3pFppzOyZWJyM`gx`LKpX% z-#exhR{c>!rO#%j>XV5lCw5G3_mInsp6JSYQ>9%j?{+Tt41aqvy`iqCJv^d`k86IH z9iQ8bMK)Sx%NMt(a%I*D9pem&3yPC^+0s_DWm@JuzmqFgBwB{AnqF`E>sGnmy8m8k z6W8zhzHm(zSH$Z2?T=<@&psSkK5OZ|Z$HvY_ryiy%spV0vU=0$eLt7DoV1d7yC9nF z_M`giN!4#0dEebwyXC&o)5P_UtF)Jwn?%iCw`-x`ohCs#cf={PSQdUmemeI!Z`E0?eIR;@e_umwsaq3%R7$g2aXUkkCe&3Lj)1}^; zTu?mcvvwYveQxO$tH<7@d&A0kzcxo^?=`s|SN(Uv6%os$TV|zh|7%*4czXBOt$Dle zs%I99N0;CIn0wUa%cko0bK~6WA4^p{xOsH0^!ZJ4brwZ^7b90a?)&Ygc{*S1!NI^O z<$lqgt<{-&kK0!pT(}=zU#9W+xN5wnw-v?ZD;-5FZfx|i}@$x1m3Ug^!6I=E8CzxzYe{o~->Z>ue=HK2cNmTzYy>s_x>4%$J^PflEv-tIX(f+o#@BZ!m zdpdHxlJ37d`|1z>_-iUs`}}XZLPM&h>y^4^vM(NFJ-VwV(#&d?kys;S=DM&|MroN` zz}1h}9(J^DoR;V>J!wT!k(89{v@V0T^x6K3$2gP=G~TH%>Qy;+VsfALryGiW*0P~< zCYZB@t0=iE?OZg;%CK_QWW!%GE>8&wyBXyxmy)@->eR)QCDU!MnF7CN(scf4m zIRB6Dt0(Q#t)7Op&bpQHXz|j@SFtN1H)TxBe0H-_tN+p3|5;h9*X`qa-MN11^;K)j zqh@M1|7kp>J=Nvkt4AvjA9}gkdDpe+Ix|o6v9H;D-pTuw)8%jBYiC{5a#^t9_OdG7 zVz+lvc?)Me4O_SEc~Q2ev&gkudK({0x!m8=Q&t_&`(sgbzN5pp+3$Bh@zPv>V7A`T zHQnsWJx@5f_^&TGTqiVVLa~Ul8#C`CHyz!{lHD6Vp5UzJc^}AYZ~f_%%>AsK`5c>d zK2KMh|0d~-(Q}@~M{g{;lYh=3-zF(acwuM$1&{526fU~{uF1O;us(9)#fMJ0TQ7Yx zj9nF|DPHyU`oF6=IoHcU)%As$7d5Y+oL6gBkz~$mv_5ZlZ|t4u!#!DdOXUwdZ*)&? zJ7s=<@87vE?)324{m5y$=aa_7Xt0UnL>Kp8vkW!XcS{(US?wyG_o>H9J}y2J@>}UWzx&44^}Cg{dP{?q|V^xs<{ zACB!#eW*6i=cj)1(mq3>zML7G(vPM{r?1;FbIp_UD+J@)tfG=Kjh6?X{(iOIWg7W}x>rowp?LcB!c%4^ zb2jj*Nx$9XZ?=2M*6VCmxg0xt;WjneW}K92eHt2E4XZ-nJ`ZW%akJxAV@{Rp0Yl zec}C4`_EGyW-jYq@cUhnvKqtL1I?iP{P?cTseR5=&eXr@kg27FCI%WS^=O%Tg}ew_ znl{fX^_IxMut)jWaG!65TyX=a#V2qf@44>zl;>)-wJbN9>W{&fF+)=I|{ZXWCR z+y6gh*Sp&5Ayt1s_l0*ZHG2@WWNrC_Muw>8BF&#He>`Xw)UtROC>r--VdAEbVj_)V zbuS(kNd0nISf;jZg><3q+82*{stvyjH>+Oyv9Q;$XvX3`xlb#CD;&f;@8;M9W~5B4 z|5_2B?Jd^%WP-nw73C zx@N~YsWo%on9Nxu-IzO{+VKHa+fm;FDqD) zZp$)t9Y1rY-qGWi8gzDfgvyBXDrDbzy64@!=b%jeN9!b);R{fv=1B=TBGp>B!tl9` z@nLc8IiJrPZ9h?TQuZ_Vmy5cWVrB=K|F8UV*-?H)$=MDQUG*yw@h3iCGFuP2ZScDK zt-z;Exn=dy!7S<9(zc(CyS3WrZqDtJ{PL#dDeT_g?_E+obRgp1x_7!21$FgX)K)dA z&ztShej1diXUwTMk^ZHyEWLuUZYev9?78m_^OSWZy?URkH8?EQ&kJ~*&|MJl!e08A zrT0qtunNbm?q=1eEA7`d74Lm5bNyw0mfZDsduG>2eB!9*F*uTa1CFIHxUZp0z^lX7lzDmFe{ z(kmO>dPeX~%GRm+-C`4e=!Kn=wEgZYQ?=#wv6#T<5Z|3!U*FzfetMdR^p>}`513lt z<=tqWee}TOWU;=E9nS08`?cqv3)^1YdLexCvU9O4#jme#zW(3sUhS^T?dLXU{f~|N zS-xq-)&BhZ|7>dxWnQ1W{QTcNe;*b+1>HEdN$o~L9H)kCBhR&|H*0-um&P}X{F{0^ zQ}Eo@gjN~7@3Cz)KexrV%fxXc1PJ|dd(>50%MnudX5)>-1c_f$l6s6LY24|SdiEl@ zH1(^>!w&mRD{lHbi>-Vz(PpXZl1bWDYAO8z|4uCN3kl17+G#1) z-zifwpC!l3E`2tQxV+>h2vbWNWta<6lFT*}*%>COC35i=5-wIW~4oOtqS z_#)S7&yp7B*>bI1r1o#+#KrM(TxrYB=7wa>nzzbRxk4=0^>*3PYbRygm@57+k1Vm+ zw(4o0_*v7qwcDCHwOuv8X|0Kkahq~&!-=@eH7zI9qTduBG}B%)8c2=`rv(xxUXy{qM#;i~JmsV@tJk zx1JR>i`7*MaJKq-tu~3}>dxqPU(?#K<9|xFCoT8=wk*$U_P5(l4Rx|^AKsT+UM^Rw zyXJ09@OJh|_tt*W-BF~(7?;k_qrZPRL>dGF)$-gv1#_q+Fk8OM>_W;z7_jA%Y1$OzK+TNLRW_xcpPdyFX!j8Q~$wg(CvXXJ2$28 zFIk#)ZpGFO_s`7>j!x65Dmi*-PT=aWy*F09?%eQr-n_H3^|Lo_SBx{=yL)@#>9x(~ zGIG)HK0e+rsF{8uX8W7xd!293v)i!i$?F@N_y3LW_i2*zGbW z+pl*UCEIo=Hak>C#B^xmwd3pe zg=;7Oi&)hzpLXi?gwTJl9&9+V%Kep7n(FK~(*-f_x>z!UtXuZL=`fZV1 znYZrjYr8bpZ9gq`-+X$N=M;YIw%*PM^D@`(`4N=|nJva0B1&aHyw&o#sH56haD$?eQteYeJb z`}c?|)t~R0=W}v!{g?~tLf>s#T+?=AbLE5=50izynBKoD`84L@Jkh>M_x5TUn|nNwMZu>;Svx+&m~Boww?cOITpp`M><1@$GyD1O{+zXJtzzHW zv%AZ4w(XQPQoX&~;_dFxX7!w`V>^m(1y2=E`M2lSfoFLO$E+==2B8 zEVtUjnv+>M7BB@NQr}&KHVXk?Y#o~T`rjv_%Tvn}E=;x$%b76~R=!++lJFXtNG9j2t<6)m6@ATB( zhg+YBOpAZFJ+(6{&^2x5ufNNt#}sdzxo9>|+m)%UMP)k{1ee|0nKqCA-N~g%wG+Rp zFHlaKA?H>sS*5W^d{W0U*VccnN=t(4Dki2rK3S%@Y^I-8;PSpYuB>U=VO!=d?VYQo z-Xo&;|Ap3y4PGvH*Q}G0oVaF3Qq*f_+izSe*BxT~v0}pty~s6FPR#StaXx6q{bDm$ zZuy!menGos`fmK%m9f>g?Dg9g-a>7?MJi0)Pj=35TedE+Vw3gT-5p1?^XGlJRjoh! zXWZ`mKDjTy^%v|~`&*xvBi%D^C)@q*4~I=ue!g`&W5r{5#B$xX*Lh;`H5g6=hMHA?)iA;#=o2|HI}P) z6>oMk=PfCBS{|dn$uIowTuG_eo7q=mqK{uZvAjt4Td`at@5&n)((IFNRxWy5mS5oa zHi-Yr?$-~Q%bvsV> zcV=2XVY7WFv1Qur9>y0%$#M~o4Q9@5;NUs^R^rwBqVkPgO4Iuc*h~WS?!Mde{oU{P z2iW!hd^jSW|L5Zg_4R+qosYI*WnobK$->FRz{sG(z`(#TjbR!C1IK>`W)2yT4GRu7 za|mn2oY=7NaJzuA*Bp}(6f92J+W*A@+L7mvwWv0Ya*{FenRHY){P>bW8$Iqt5O>1(fb2^*_ScV6we zxjEzVtgTjMORjEFe{^cDw7Bl=ZSqSOEj_*cedp$+k6Bl$!`5{i?hw`v`*YnV;h-qz z?3ufFY?GWyZcA#CC^s=@T_Y)J|8{te%3wT-#fn^P84)(i~9TP>ziA*7yWvL3yY!l>3EQLvt~bU~9q z(zUo|`@7-~TkF5FUupaiJL5sii?36rM9NmpNN79x(LRqzm_V^ z;YlpdQ+%bm6gvXl#6)9yt!6D*Am%%3*3yJe%U7h&F1n?;Y>Qap}8ftJc=PyCJZ4_opuPb^MH{U#vd#%wtU+JKO9x8zx&8GuG|u*_6F9`TZn~^-CYih3IYi zt~GnT+Jc%<$d@_)I5g31ML2540-+3bly(+o2Rp> z|NkrQO?#AgnC>dL$8|7JG?J004huc8lv0ePMphsIP6$GAc zo0x5WO^YFCJI6%rYeLVaS;h&xoRqwK=Xr@2d#cW~C;t4I$l0-B%jv0+a<^X#m+!NF zC)J#{tBB$Z`{Vig|Ns7cfB*kK!xK-Mul@pM-V8|Q&D!$(((-_rW@{z4uDZI?aBbG! zuF|L1mZS-^%KqN^`sDhwORHjcm#w}zG3w^2xwEIej_wbAKJUiq?d$IgXDz<>RwDFW zydWs^?%A$)<)FmpRbO}S*pzyt_pn`S&c+WZ`=&cbv#p8LdfqYb@;A}5yNog~FPB|r zwt3gq+@nh;ADhNon)~+l0oOg(_C`N^bN^uTbGHzi#P{c`Cwsf^i79yVe3hgB{C`t_ zJXpSOYySV|_hetjez@S@6CZ!?_m!m&7q5?hzr#B0$IIuhkH_xM3jVXDbNl^iV=*b%pbP(eEpsf;FY>uu3e=};zqljt3^_$PEuJ@ ztNp>{iQT%-*g`stFGVQ#_%&`_)Ms^QnQ)(jSY~p+$HlNE6W={mc|6JW(+ib0d#960 znKpu%OZ)izG^a^MGre3;8PX`KHa+U1$fKDteK(hcD>j`}>lKyjn3Ph?6uEqY;?bok z^Qz|Ukc_Eg;z~`s_HgUf`E7E$p1ao>-C8lVzbNHu`s8zw&)qh&&d^+NHMJzBZ~nZU zF)24vBeE7R4>QS{y87Jzo2y*bADi`Z;+93~i`LFhnyKBe>eH{4Q}!I)xq8FieLE+t zJE&B>debq<+iNzTpA`9K`thLIYqs*JdaT;k_UqP!jZ96^Z=EIlvfu68X|zgE{j9PYljV5Ovh zDNpu6laic|Ge4Eh)<3FLk@IPq;P37e$KKC+^XYg}n@-UrP|Nv@u;$TC+swZ66nAPq z?!I#F+^?LH&cvOwL@w@;di&)(OVXMz7j*6aerYjE-?L>WXo9&Sa|lVOm!)k z!71QUa8HZJQs#wS?^U4A$Vi787;h$CAG3SfpR8qT zZf?%l+9kVE^et#EdD+@sVoR=WF8uteHQOxfZeQTXL!yp5HatAsdVgB$ukhrA&4q&A z^VZzpd3;P%etNIXPUAgPetrdSbDfn{(#y*$lZE-_ZrOVHdUNXQd1r5J zb2?jD&Mlr8xh22ZpLM_NxjjF^Zl6?qo@RIFXZRWKsq+_{yZh_w)|*T9|3ANX_xI;@ z4}JaB{bjfO+~9WkaGL*oi`@ObhtID+zuzc!(XX|~?>BUQy*fL9G0*)$Q~S>H$N;Zg zGr49Fu@`p(1XqPWY-^jzp4i4!q_L=Z>)$D{9ZJhGWCH~KW-RLRnmJ=irv5dLh#tGG z8OgocR;J2b)08)qtY{$Cgp8kx4Q<5{!HUDnju=~5L59?=^;m-qfVcv3LZ;oZw;vwicfTuWBP5TNYvn|_q?XxBr%Ua;HA5u#mgZdXG`E!%i{C|RWiIzRk+~}H z(tok6l68k>y_m3O+46g@yad_bfd5RVk@>l_mS$g-16lef_-DQGM;_ zhO~%~&Bwg7_bxcS^Vgo-D-rrTnb-qwHHQfYm9DHk +
{src ? ( - {alt} + {alt} ) : ( )} diff --git a/src/renderer/src/components/button/button.css.ts b/src/renderer/src/components/button/button.css.ts deleted file mode 100644 index 51f7509e..00000000 --- a/src/renderer/src/components/button/button.css.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { style, styleVariants } from "@vanilla-extract/css"; -import { SPACING_UNIT, vars } from "../../theme.css"; - -const base = style({ - padding: `${SPACING_UNIT}px ${SPACING_UNIT * 2}px`, - backgroundColor: vars.color.muted, - borderRadius: "8px", - border: "solid 1px transparent", - transition: "all ease 0.2s", - cursor: "pointer", - minHeight: "40px", - display: "flex", - alignItems: "center", - justifyContent: "center", - gap: `${SPACING_UNIT}px`, - ":active": { - opacity: vars.opacity.active, - }, - ":disabled": { - opacity: vars.opacity.disabled, - cursor: "not-allowed", - }, -}); - -export const button = styleVariants({ - primary: [ - base, - { - ":hover": { - backgroundColor: "#DADBE1", - }, - ":disabled": { - backgroundColor: vars.color.muted, - }, - }, - ], - outline: [ - base, - { - backgroundColor: "transparent", - border: `solid 1px ${vars.color.border}`, - color: vars.color.muted, - ":hover": { - backgroundColor: "rgba(255, 255, 255, 0.1)", - }, - ":disabled": { - backgroundColor: "transparent", - }, - }, - ], - dark: [ - base, - { - backgroundColor: vars.color.darkBackground, - color: "#c0c1c7", - }, - ], - danger: [ - base, - { - borderColor: "transparent", - backgroundColor: "#a31533", - color: "#c0c1c7", - ":hover": { - backgroundColor: "#b3203f", - }, - }, - ], -}); diff --git a/src/renderer/src/components/button/button.scss b/src/renderer/src/components/button/button.scss new file mode 100644 index 00000000..0dea5576 --- /dev/null +++ b/src/renderer/src/components/button/button.scss @@ -0,0 +1,63 @@ +@use "../../scss/globals.scss"; + +.button { + padding: globals.$spacing-unit globals.$spacing-unit * 2; + background-color: globals.$muted-color; + border-radius: 8px; + border: solid 1px transparent; + transition: all ease 0.2s; + cursor: pointer; + min-height: 40px; + display: flex; + align-items: center; + justify-content: center; + gap: globals.$spacing-unit; + + &:active { + opacity: globals.$active-opacity; + } + + &:disabled { + opacity: globals.$disabled-opacity; + cursor: not-allowed; + } + + &--primary { + &:hover { + background-color: #dadbe1; + } + + &:disabled { + background-color: globals.$muted-color; + } + } + + &--outline { + background-color: transparent; + border: solid 1px globals.$border-color; + color: globals.$muted-color; + + &:hover { + background-color: rgba(255, 255, 255, 0.1); + } + + &:disabled { + background-color: transparent; + } + } + + &--dark { + background-color: globals.$dark-background-color; + color: globals.$muted-color; + } + + &--danger { + border-color: transparent; + background-color: globals.$danger-color; + color: globals.$muted-color; + + &:hover { + background-color: #b3203f; + } + } +} diff --git a/src/renderer/src/components/button/button.tsx b/src/renderer/src/components/button/button.tsx index 66a67889..8d8bf1dd 100644 --- a/src/renderer/src/components/button/button.tsx +++ b/src/renderer/src/components/button/button.tsx @@ -1,12 +1,13 @@ import cn from "classnames"; -import * as styles from "./button.css"; + +import "./button.scss"; export interface ButtonProps extends React.DetailedHTMLProps< React.ButtonHTMLAttributes, HTMLButtonElement > { - theme?: keyof typeof styles.button; + theme?: "primary" | "outline" | "dark" | "danger"; } export function Button({ @@ -18,7 +19,7 @@ export function Button({ return ( diff --git a/src/renderer/src/pages/game-details/game-details-content.tsx b/src/renderer/src/pages/game-details/game-details-content.tsx index d24051e4..70ce165f 100644 --- a/src/renderer/src/pages/game-details/game-details-content.tsx +++ b/src/renderer/src/pages/game-details/game-details-content.tsx @@ -11,9 +11,8 @@ import * as styles from "./game-details.css"; import { useTranslation } from "react-i18next"; import { cloudSyncContext, gameDetailsContext } from "@renderer/context"; import { steamUrlBuilder } from "@shared"; -import Lottie from "lottie-react"; -import cloudAnimation from "@renderer/assets/lottie/cloud.json"; +import cloudIconAnimated from "@renderer/assets/icons/cloud-animated.gif"; import { useUserDetails } from "@renderer/hooks"; const HERO_ANIMATION_THRESHOLD = 25; @@ -165,10 +164,9 @@ export function GameDetailsContent() { position: "relative", }} > -
diff --git a/src/renderer/src/pages/game-details/game-details.tsx b/src/renderer/src/pages/game-details/game-details.tsx index a4b64225..4fbcc855 100644 --- a/src/renderer/src/pages/game-details/game-details.tsx +++ b/src/renderer/src/pages/game-details/game-details.tsx @@ -6,9 +6,8 @@ import type { GameRepack, GameShop, Steam250Game } from "@types"; import { Button, ConfirmationModal } from "@renderer/components"; import { buildGameDetailsPath } from "@renderer/helpers"; -import starsAnimation from "@renderer/assets/lottie/stars.json"; +import starsIconAnimated from "@renderer/assets/icons/stars-animated.gif"; -import Lottie from "lottie-react"; import { useTranslation } from "react-i18next"; import { SkeletonTheme } from "react-loading-skeleton"; import { GameDetailsSkeleton } from "./game-details-skeleton"; @@ -194,15 +193,15 @@ export default function GameDetails() {
-
{t("next_suggestion")} diff --git a/src/renderer/src/pages/game-details/hero/hero-panel-actions.tsx b/src/renderer/src/pages/game-details/hero/hero-panel-actions.tsx index 88eb7c63..c1b8cff3 100644 --- a/src/renderer/src/pages/game-details/hero/hero-panel-actions.tsx +++ b/src/renderer/src/pages/game-details/hero/hero-panel-actions.tsx @@ -1,4 +1,9 @@ -import { GearIcon, PlayIcon, PlusCircleIcon } from "@primer/octicons-react"; +import { + DownloadIcon, + GearIcon, + PlayIcon, + PlusCircleIcon, +} from "@primer/octicons-react"; import { Button } from "@renderer/components"; import { useDownload, useLibrary } from "@renderer/hooks"; import { useContext, useState } from "react"; @@ -6,7 +11,6 @@ import { useTranslation } from "react-i18next"; import * as styles from "./hero-panel-actions.css"; import { gameDetailsContext } from "@renderer/context"; -import { DownloadIcon } from "@renderer/components/sidebar/download-icon"; export function HeroPanelActions() { const [toggleLibraryGameDisabled, setToggleLibraryGameDisabled] = @@ -125,7 +129,7 @@ export function HeroPanelActions() { disabled={isGameDownloading || !repacks.length} className={styles.heroPanelAction} > - + {t("download")} ); diff --git a/src/renderer/src/pages/shared-modals/subscription-tour-modal.tsx b/src/renderer/src/pages/shared-modals/subscription-tour-modal.tsx deleted file mode 100644 index 5e8c9d1a..00000000 --- a/src/renderer/src/pages/shared-modals/subscription-tour-modal.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { useTranslation } from "react-i18next"; -import { Button, Modal } from "../../components"; -import { SPACING_UNIT } from "../../theme.css"; - -export interface UserFriendsModalProps { - visible: boolean; - onClose: () => void; -} - -export const SubscriptionTourModal = ({ - visible, - onClose, -}: UserFriendsModalProps) => { - const { t } = useTranslation("tour"); - - const handleSubscribeClick = () => { - window.electron.openCheckout().finally(onClose); - }; - - return ( - -
-
-
-

Hydra Cloud

-
    -
  • - {t("cloud_saving")} -
  • -
  • - {t("cloud_achievements")} -
  • -
  • - {t("show_and_compare_achievements")} -
  • -
  • - {t("animated_profile_banner")} -
  • -
  • - {t("animated_profile_picture")} -
  • -
  • - {t("premium_support")} -
  • -
-
-
- -
-
- ); -}; diff --git a/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal-add-friend.tsx b/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal-add-friend.tsx index 91126923..23444e70 100644 --- a/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal-add-friend.tsx +++ b/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal-add-friend.tsx @@ -101,6 +101,7 @@ export const UserFriendModalAddFriend = ({ > {isAddingFriend ? t("sending") : t("add")} +