From a2f5c135cf202d2b116c14b145a89b61395dbbfc Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Sat, 2 Nov 2024 21:11:00 +0400 Subject: [PATCH] Paid Reaction: UI fixes (#5103) --- src/api/types/messages.ts | 1 + src/assets/fonts/Numbers-Rounded.woff2 | Bin 0 -> 2348 bytes src/assets/fonts/Roboto-Round-Regular.woff2 | Bin 42556 -> 0 bytes src/assets/fonts/roboto.css | 6 +++--- src/global/actions/api/reactions.ts | 12 +++++++----- src/global/actions/ui/reactions.ts | 1 + src/global/helpers/reactions.ts | 9 ++++----- src/global/reducers/reactions.ts | 5 +++-- src/styles/index.scss | 4 ++-- 9 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 src/assets/fonts/Numbers-Rounded.woff2 delete mode 100644 src/assets/fonts/Roboto-Round-Regular.woff2 diff --git a/src/api/types/messages.ts b/src/api/types/messages.ts index 3ee850cae..88f5e5f53 100644 --- a/src/api/types/messages.ts +++ b/src/api/types/messages.ts @@ -731,6 +731,7 @@ export interface ApiReactionCount { reaction: ApiReactionWithPaid; localAmount?: number; localIsPrivate?: boolean; + localPreviousChosenOrder?: number; } export interface ApiAvailableReaction { diff --git a/src/assets/fonts/Numbers-Rounded.woff2 b/src/assets/fonts/Numbers-Rounded.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d2c534733bd8e317154ad62546d5d934cc7c17a6 GIT binary patch literal 2348 zcmV+{3Dfp>Pew8T0RR9100}Gr5C8xG01+?%00_+h0RR9100000000000000000000 z0000PfoMNQMpR848Xg;hJRCp35C>ozs18w- zPtuG4KMry;)`i$D)~Gb6QK^J*`_UZXrtc{ppt;v~$tAz#bVX1DvHpJa+)imlJN~lFEtUW=;WH(0=j0% zxvSB;2{Y&N`BIV+{g-fntmNF}6p=%)J3os;$Z565aH{JkLsEU^1qIY0>Y{x-1X6HfUe?@%~tfC8YQIm=_dm0F-AO9PW zGIq)DVIv>#ia)n2390{6lX=|zn$QJgLVMuO&zGYg=prSp#X?ayShow`B8(zgDE;qU z(Ol>giou0Vq1@5T(;H8BL98G#cTs3~1Z#psV6BJ`HU^2o=FkAM&g5`Pl81smlyXtV z!kWGCdf$2j=A+;eNmO8vGcEP$51po19Ce@}U1@*Mq?b0h9MI_xXwWEp=h4Y`J?Urp zE5TP{*b-CLq95Xbo@54JA&m>mYbSb!kt_rU3RjFN` zlHql5bar0KPd|5 zf-A^TTBksYu8BZhX7`PoGH>FPC0*;z(b0iS^)$i{0+GxBTuMx^&R0j?1E)cSK}5qd z?}ShGC~ctt4-|9SBh_nEmc^*s^#%1~JsDmGx+Fx8#$F@PzPL-%dS$T#V|lduPC3i% z-eT2o5yXno&4LK@#IB{SfdEz_=c$rQBy^vuC?*u*oDQ+mnTO5qo&{O(Tf_x5;!T)+Qnp8T$M#*1T6VVVFezl*xxlY*Jjo;_H&SlT}&O*{hkeiu@PyLOdB^Cf8|P zst1|tON@` z!4Z-?Nz5f4a)(Sh?Zs2FdA>zl-$hIGR4YxBda`ykJ%dw+2ZKkTN;wpUj#IL!WWqD>_{VR@A57PIa=bpFJ|0BR3ovJb z4wf|^4yo8x9ZsS}&czM6lMkhYqrHRQHQpJ_Ox!C~9De!z$Sq5aJ4L%h14HIz61VAXH>a_?a(JM`Q90P8gm~*>`xCsvRv{nVIxF{kOv6^Z@SU$ ztnD?EyQ}QYvZj?T%2w5<)u*c(((BSxS!JrMX=YXSle?8$d(oa8)2*Di3dNQR>5dBN zmP&<1<&B|Yscg7JJzOG_LfL2cVLY}xEvl$@^!ICnIcb}v3y-|`ckHIk|Jw&uNKRU4 z4PIrlG&a#C&vzxus?8*>2?H;Ke9U~V&iQaXNQ z-`0n(-)w!f4;<<_J|Y1oeDo0V-}FD^@0G_qUXh5eJ&p|t`2i5O{J8C0f6I^k%16E> zo}{}(uY5s#TXg)`k`w!P?_F_vv}jD3AGw2aEcGbGA~Gm29Gx0$9Bg`TkMjq{yXGT| zBLbmFDHI6=xVW6Le4;*7nNJkDAM!bXcV`0kmaacLI{RN&A0p%ju*+x?`y?04zB+YL z$b25jsq#a7SrHKKyLkKgKwuAuj?MC_gy7nJ3(gVt&fmIg=tx(7XWqAl2SN@rISK%GLw|iv&#HnXGx}G3 zqdMVeTzVW|>*NBclW7|6zVs@t0U&|*b3sve1Y5SeX?zRx+!}CkB?RQYAc}>ci0zOZ zw}Bw;24(C4aSR6Uco;Hy6!i)M^hDhF!XDy_3h2pbkj?b@{hLwOSlr5D+o_rW#B(ia(gJ)9{VUld_(zcOAriPFuWwgPUxkdoC>hCX; z1BF3^M}Sh=JU-ULS!$ypA*=~G*C8ZAq1oWcU`qV2JvLflY&f@+_8dl>CKOTd^}t7S z7;`$+(gM*{Zm1|bW%T#M>1FdB(1=U(<4ICA1_j(O%= S01FSP6{0c%FyfRC0000IV_rM} literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto-Round-Regular.woff2 b/src/assets/fonts/Roboto-Round-Regular.woff2 deleted file mode 100644 index 0a8478d2d0a99b0d0670462cee145108aabc38fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42556 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¬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

vr&aMTY{|sN{{BmyU>|w2Ud! z(`pS`k;Q22yg|~MY%kdFjn@P#k_=^etrqsz$Qoli)S9yXQ20P2%lkfkhWzyD=IV;D z#cAzpkn-J$TWcK)KAMO$bqgL&+N2!alh_K-=*I6SLwvVTW;Iz^EOB~qnU`keWhYQe zwLYwzSu7>5s2AKp1x)>5HFgWw^3c8RC*s)1`ij7lcVHFfH`Yo4EspK%E-9Cyd3zTK zhy}mV#AF<#W_~W+51+W*fEu^oChxOMZcO*2JgK2JHhW;`Dtv&DjP`b*g1l3Mk`g=d}vzOUr zttZyGJsN-Q0@xvwwsLiJTfV^g!w$e~r*!tHI3dllP05Z&;Gpx=*~_OmL170N%3!lA za)_^}7!&1rF}^OlC-8#m@2jR0V70#Ak;ktC5haM zSR^nu+7Y<7QLG~B)#^mU-gIJ#tRwt1|n8c{=|*^TLsgn zdnC)_^f>JpwX4hP6{UnJPxOnBzVr>q)|c1w$4YcQ3V={#zi~Fj93HY)Ix3;P6y$E> zDtqO~V@?`zL3=2}1;}fHj4?%V!0%9u<B~WQKn|%~N`RlL$ z>M;uTmbwZZ3uHGaROJqe%jCJZ8R-1-Zw_+n>;qhB8g@p^*D}R%J z{Ye=|Owh|jGuw~6$J`y)#721kXTo&bIu0GEX!SS{XAnDEfSs}+7NoW9u01E<;LO6* zOAj6|LF}fgWmE zejuKxnJnMCPWk&=aT>uau6eJok~nokPhDz*SH#{DjZKFl;plQOaXW(88~^mq{{vSE zWmgr$WwJ>S(#R=VrgS5GxcLGSRMf2$eZb?1brhB`SM4u)6t8~wZK>}8y~X9B-gl9R zrfrLI%DqLY!L&b|j+1~K>Y|S7g1-oL(70=(g4eciLs~EvjLn1bJtgvo(Ig@qhZE~O z?tu~aS)ldu*>u5OEDqpN0~;}uT^D;zrk5Xh={wn>it)7{Tt=IzUd9; z^f5!cc}l*>wkg-qqK_M5>+*aPW%a;sRaQ&T?Ah*AY}z5137I64Hr?czo z$9~HoCjjJ0VX@ie_+=|zZ0#rcf_`K$eeGi`{m>JC$HGqyIp(LWW^c15Ij5lZXrvti z64{Tl=PeEwD@AwuJ>ta>vb6mj@7Y~}!{IAR>7k#g<&3J_!{s97j=F@n8fZr*s0My@ z$6AfJDqb@!olMkJjXL%f=JjFx99=@UJ)uFL`yXVLJ2t@L4v^hHHKjB@-T~5#T28R6 z9i%%tOp2+=f$z!>QU4r|6j(lIbiXUxyTtGCI|l~;u&_>Yp+r?xG_)!s6AQ3LKSd%3 z7j^C=I5u6Q3j&n`FELg_4^L>e_Z-|19Sb^^gT$t=rc;NO>?CcUp4 zFcJDB!4bLwK=$RKtR>c!$zY_7fHhby<(MyI;ngrHe0og+7V&J~R$m(h!4BBb)$y-| za|mjDqV`LR3+PbZySOcqVP^QA>JTVkG91{CKV5(R(ksjqW?}xfL-C&QdyILT)d@bh zyE_1!Kzl=dVd{G%9REUnZ8Z23wzRasw!fpGrYF4r4k)bpr;{)#^@67FxtZbZ#>ZUt z%1Q*fe4YhXFX-RnM$gThZiNPucOnt{1I|=Irn-``@O$Roth1N(#_ZIL!5jS2GYg;R zrNXAVx(yR5joS>C8-HxN zx?_7$M%}|M(NRsHys`L?^{ZM~z7Jm>6250CfFyVbtVh&Wlfqm;;|E$hsm|nWz6A3j zjSO=5v%TZ5U&Hdzb!+)Zir(BAc$G14w{Riss;UeEXLt6p&0R&p%GK#>m1~f&_i1tE zuTr_<9Ig+uApf<&;K-UZ1eba0@;BddKc*lB!R=s?FyIt=Vj@>JbAj%U%;Zb!4VB=MtbJ>B9KNT zd-YUqZfF5J9tN5p1nxxgO;!C3Y%8qC2x5+bt_b<7Q%y^JAN`o+mX>=XGa ztA1IZSIH9913JpWrHp^-dbr*)bNV?j?0N?h zv7K`XpF_BPlMhY%(MJ98hL2U!zhr!T0__A3P9C=$RAy3SFm2Gg_p@7YAU7WbRwVX5h zuhs4|VW0^Kzf0*(&KDW4Q=2u7rn&Bc-_4&nfJv75}!hL*@@$mmwWfu2J*1lanOqO(5? zBaVk~y1J2vWNS6ZmJzyl#WQkNvfw_P)_Md+tVeKKNzZ-ctO8!yt<}3z$>i$6Z~^to zbGrwGFC4RHnq$m(KKE z)(G!=W`sO2Dx3QT02OCS*ujY=^?E#Ex6pd0h75|xWxDWX&zY&Qv#2<3Zy;Ejp}t_9 zQAw?*E8iiJx38p9w2IDEj7~KhSzBCMuUr8B&odDF1LjW{ors3FKV){63l&DzbZC(; zqbHi&IXq?%Su;*)kL|OyClKVEHWMZ(tw?8E4`it^O6B)TlpHSEIe2$MwKlGqgDh-P zuI_r`TT$E>fKF_UPQn;(l;3i>9Y*XA$!i-8aYJHTf+1)?8nv3xZ7^cmC#tA7B8K2% zv>4MZk+}KOEBJfLJbeB|zlQ(BoF!8$1wwq+ZvxQ{B3?z%`H))NLQK=<-*!ng`g3Y$`?W!1z+1Ms==}q5(IK2>bd(vdh+y#>Aep zJK2buabx&}g)n<1=y;Nj*YV!_cOuN^x}--@;?P{;5(uVVZw!tt!4|}?PWduO{iAK! z5{IE&Z*Vp>;nIOMkWIgvKim)l_gj{=<@bBNUbw5z7xag)qxp2*aI{`;z~{#gC~6!J zms!Z~uG>E1*6%6~26vt5$n7o(B0EdKXVf(%9K>|DV(+gZcadW3t|QDxTTRiKfu{Hq z^^*IpsdVkC)s#-dd&^^l{O*p)Q9*k^*e_`72X!%5i&P)y#Q8^Hm{}&^a@DJZop+R3 z?e`<@enD{4ZA=%-%MKDw)TYx|SM_?8Df+%I#_}SX0s8C)2%U6^CTEF5UAI&oBAu0v zHk^KuQtISw=*J}ec@pj(zEpjmIb6OqrePq@M53@j2$?BuAe0<8#D0jnyJ!4o3!)$M z`MA7PC|pkT-gdZC-=rGuP#mZOahGT$nXHGBcf~a+W<~hBuB4z;s9LeT z=vv$fKO9%Rp0dDjsZSw$^rf~2+z4==)!7RphC7r7>mWxw78`1AiSMy`*8B;}=cr_v zA^W9w@Im$B@x(e*F<#c*e=Xvkmv|H1Ml~~Gc976@(CFmdW_EV!6{$wWPS)T#&^$J% ztp>#g!WTS&O*KFcGW3013iam~-ySSCsKg0H!poN_SDRh6im{x`{Gy@LIGd5vu{yrp ze7Jte9nV{gnrnif^?n2=GN0pq_?eas1-Tyz=fvi7JfHB4rcZh9hr>AFEwzD~D-+ao zC?o1fPt}jR08adhAPscGz@SWb{-JUD7dY5JHEzn$C^u!J7XJzZ746cx(gvn3;`zI| zNxH2l!HsdkguS`Z7Xc10QAetDNZ3JGc$|}FV0ZQI=b|Rp%Obq3hrMUB*-hOB{? zG5M3-fQ~YUiVAZAm^dDCbs@TFh&SGW!ENKjiVcy}b>m+bWI2SQgFK z(11xswn8@Zp}I7USD$b>OB=XJy>71u9xoNZ_NKQ#a1cA_o@aW@hmnxw5abYB50RqY z(>)4I*mL@+0yk1o@*8tE9FBfS3WG%z;!5!d8xfCCG;cG8IYIN9x*ZIsWp%?&PUzRU zv(&NQH5ba4t1bTyp3~QDqxOw^m@w>zTeQM*kO-R(hce3{LI~5C9f#CrEJn|w{&LR; zfdHhVCq7fU`N`Jr2~M-G?w_j7O9!LKp2e4=iI4EOh2U-5e>qEgj8e}#f zgc0k#K)E0Xxi$nMvJUoF>JYleKds()5VV7uO#$P`de1*eIdwTA>7W1cYSY^`c6V!~ zwr!#drVllPe)Bmbf+DpZ2drT;iLa1{uca7Lx5S_eS+)a>bM~Hb_<#YdK$Z_wD|%+E z_YQkPe%%J(U)F#5~xU!+J`Ei{E#Hmwwsd4qs_s;D`hsIiq@l{ z8rC1#q-&r6oi&24TSZf2EGP8{a6XT(C9UI zUC{I#h6Xd5=Vc4|>%q;6iO>1to62E$Q_@zJXX#RWr0XT2*oF&0(Bt-y`DOV9?PgA_ zu*8V}5d#bU`}+-iAvKNZ@tp1|D@rO>1K(ezuVTzYe*4SRscKPyw6%jo{_dYe+6@t0 znn}GTcLyg}(i{w*$D`_%J$+ZvVP>qIm;G_NgKqsK&}9fe@Z8!dt=6%QlI+L(pjkf- z?BFI_6*15DwHg0gP2KvA&z9;y1R3Oh`6q1h$u9z2>n#o0W>N2H7@;y19E747CHouv z4cl;nZB~u`rZEyj!VZ#EBUDcV+^|Eeg*qbkioFPxQpQ0F#SxMuAoY)s`NPtHG!Q0J z%h^Fw)RMoiHL3ax^TkmQYIbHo%GLSqNa5p$%0L=&=+LRlTj6fsAJ zQ033dJu_MpezsdfDPto2A%QC*3O3OZQCVOA;V6Ta2p4%w*vxt_P6hC+P2o; zzh!$gk7^m>Y5>FX zUXXnCDwEd3dbm%P>C(blZxUk4V32NxgX;CZBxA%F9>f(St`1aYf_1_Q&==@+s=bv( zf?kLwf`MXLw;!I}#2)Z0@J}&44}0&h>G#au#UAu*bY831DB4_M{HZb(T*7cavu6+3 z&9}Yl3eR1@6bGkaUY4o#za%DQx{EUbK&)a~zx`#w5h+>})@oz+uu}ov7A%vZvFvL2 zQ5mm|#CeZ2>3K)h=~tY2NRX)5Yvp`#J1a`Z-h) zBwnxfc%P>BVxNLu!F{El&3a{kLpT4e_I{sQd&ye~=atDf}WQ zOAyfeq&`a&Z6K`_U=(=MP~cnjng1r1ulpSr*mqJz6dy_D(gJF#fAcBzDV`$gt4k>C z*raW0kNsfu?D6N&xFyTF=A3ot>=kAxc#e5`YI>E!@Y&AgsMZHCe_&rxoF6OK%1f32 zcS?jcSOLTHUZfg^5T1qYrdh6`%Bx`m=jM&@2aAXRSndm678E}NYxj|1)vlI5WwhTK)BPo0{JW(ae*qX`T1@qG>*22 zk4=hsXn9vP#EH}ZrWM`B@+Q8CPSc$^y!`=67ag#EDi1nO+0^g^2i?j}ZAbS&berca zbwo5|w7k0Z6O#VTuCZi%ZH5zZBI6w3pr!2sT?EkrzBBu;DQFc`aLvvs^^s(g2#ml3 zy3yr%2lh_>xO?RtXXH{}oL1pFEp_yvnaAM`es&PPK;I}89Ufgpg75|4>Wo@{ITS~w zL$2@PfWp9*7Rq3GWh*gJ?8oFY=VBx&Twx(m2 zx{nLeI1##)6CqYaW)T$+eH3CTe}&yo2EX}iwD~o~MG4`#$&zfQc-5sjdr4hcXFMME z{JLy?p!RacHBw1D;3gkM>p2Gp_w>os(5<{$rUw+$Q(OrdGxQct)3tCPx$^s*c2i{k zWL0_%crjy;iNnR@5y)2cPv#&$LEYxB3r3o*kKC9lrirFFoh^3V=r}HAi2bS)GWBIv zx3|+wrd-zM9?pL5Seb*^A22&>BxJfI z-w;!6a;sQ`3ycx=Y`1778PXX@TDD|VB*EWthI45c4#5LBVt(3UjS(k*9QynVcjTK- z>0*oPv<%WHclsMV7&L=n%s@^Q6x7rO6+xvWB}upQ?75OKFBG==csNIMYJg{1WREza zEy6QH@(4drT@g#{tN3)*(O`>PH~|jQl3t7Bx8DCC6nyp3K}y-E zC)ukj`g65EWs`v*NaAI)N=s2RBHc9D=3nl`T_8j5$iv(?ytpE-2$o^D@Gvh754l#( zjg*8Q#}L;uj?Q~_DyJn>-Q^wU5#)85j;OL77zJ;N@v`3MoRCq-m2@l3YHHiB?A@|S zBA}SYwgbv^I~~;VmDCvaz`=mLK(Ae~aAnx1E&XbLPdti=72(_%T^~8R_%qw&;498; zp?7EMDt*qK1&W{nc zrewGVmD_VPKo}|yeYG5)v#SZ#9>9x6QU$`H!I`f5O4;PiZ%!BaxGw=yIB==AI<0{< zFldo^zsqLMPjLNQZA6j>Lr`&%RqZ{mT66fIeCSKLomVvtxnJfpIb;Gfsu7c8;cOhq z`=sd1p&uwwhY@0vHL%l>@3@0EmN0I2&b!}Zf%ET>tNMmnIF-?RO?FspbI12Ux7-Jt z%4K%94Cv)EAqXHx0Ui<3&(d>*)lY1at>b2UP(NtCb|R)NAHa zPMnyY`hN*;968vW0i`T=T(E6sWn~T`Ju!vrdrxR!fRHT^#PV~z2RYU#IhyfWFPl6X zpjhw0iGz%Q;^+uH1 zSBzrtu(0vbwoPW+8VLOsk1w;0bwr0QMyg=cm=QljErMmjXaXDnx;Z!qf?|5mcrePV z1sAci2^K=L5x5kEaD6ZGxH{g#M-O;6B!VgJe^91P_WkTizx#_XC_eYn@A6U#zvolJ z1~&iFFaE%1`_Tuut*qC)!aY|Njc#dwa~Fn>=7yj9VbUhqG_=^#IG9KszOu4lyDA*p z*w4Q9U#T}|@;8}S+^z@SV@3O}x$!&y+uoZm#kAs8Vmfx;G(CPR4wd$1&&|f#E5loL&N&(MY&Z@K53Ax*Ng;GHTm*wE~xyK;1~*%Ns8Ug z{kWs09c@0F&o&aM>%BgRbs}Be?!f#pXKF=yild=h{{U8TrZV)L{mF#Hm#qYk{ z-tM#dY{R}>-Ssse-)&p8z!RJ=a&6_Hi%oRv*Xk%M|3AH_rPNLK!ioYuw0?E*V|fAi z*%Za6S)cJ!;t7-|(ei6QK|Y)H89OY|m*DqpMylVvr6>LnXp^u|2-z{xb8^So&s}Yd1=sKSsZ|ow?Tn|}aWr*dUh(`Bg}q*h5bBj)=WJztQ+Oup z(sumDp4iqKPdu@0b7I@JZQGid6Wg{mu`_YUjWxR z{Y0E4dF^!z>C}xD?A~?9dr@k?6$o#o+_)w(;IZgYboQMbKjqz*R;(fS4<2lROY4&J z5=(-OyN|8NUHx;cBUM?*!8&R`nsyo(WIy7vpdvdlZEYEs(i(IH2fJahr}zg0l|P$A z0D`Xl=AXTcV?=2Iy2#KEXF>?`x!Y1A&nPqooeo6z&;Y8!<6Zi-trQ;?wvlVd=80jP zHl(&tTFwHCCz;*o9grNtdE<(WPwpZDX%&DEQKrLN&X}9 z+e(}r4g6*{X&+8#!S%Iw^xU}5y25jW&BY8#Kqz8JhtO35i7C|xZJloE^6ci#MXkZe zSAmpAD6egY9oS#`G-13*l?`k^WV}Z%@2MKZl@C|=gDk|~kwI4)81%TDi^^cd&&ggb zMj6HoAMN(cCs)s-thM6cE z^!rpU-pO$VL#CeBeG4vp{zA%uhohHXgE{Z@uEZlL0A2nrPAp|yvgj?AOPtZT-OL4b z9P7j6#+2rWUD*kEgQ?pW5t>QDE9;0J@B5>o3iz1Gq~Lm5?a3#je)&|N5zHz-HYsqhLUX)39G#@u zl@Y7S*3%d#D|86v73tDXOTy{%D>!jt^{&wUe?f-zRAzygf0AcVw5#y&K)hY3rehd5 zqO4FV3b#y}4T*-*&&}#r*dbo;Jv{`Xf_zKkjX*>p!;8IxZvFAl8;pHjTRVryD%q)$ zERSXuf41A9pv9tzm2I$Y6 zG=Qgx>WCpSAW_4reZ+H@zu<$a;O0<96WYbRZ})xt8gyS0f}Rs!MuL~z(V``atiiZX z;yTC-Pj-Qa%J}tS^+5qo;a){JFANYM*n+K9j|xMUFWi!+g$)nrf~_rbSSejGKBXO3 z&fH1S6D3Z`u+A@*@Auu-#hx&Z@Uk zU=if>5bC*Rd~uZquZC4@P=9Wif=TAp&y_;C;%d8obk3@x36YQqkfJ*A+Y|ITAFI1$ zA>K;vPM*rF_acjemBQHyWPSxPCOQKvsx3&}3e)X3!Gm6I0-R%A|h#Jz1zE4Q9LzabPPihcF@aoTfC(-U;LNJLZTEHAG!E zq}=yCvl(W$be=?V&jmdyIxN4Hh$LCoO7!K+&>5=PgD~+VH|IY8QcoF?)WW@XcG$p6 z$J-PlPf2_00IcYMc8b7U^FJ@I8Q)}iS+JN#UB4cKx#zyqRIV=my=>tbB|UB!_6>=D z0eih+j;(84;Cm*;s~Xp1-I7mHr(SS~HMmH}7nrad8%ZCs%Pyhk5Vh0Cvq?^)NGR4C z5dFadvZ5Bhrn$+a2D{Q4Pu}DW`PN*+h{NrvFM=;Y?FHubds89#VBlJkUP=ca(-$j5 z)UmeDC!9DzD3BK9B=)13$uT(_udu;qq$CzqX(zuOF=GPQl zE?LKg?O~fgq7_{YAED^vHkKLTpMjo_0OqPiKF13)z}hj}v>4H1YeE(lq9~AqWJAMk zTUK-=TKV1j0cnrHz=DRo{nf!e5vI0TOqH8RI&E%o2u5LQ*NG44BLIYpm(r(GQm)AF z3^$Hru})R-8hxj<5P(6;iGomFC#934QjYtq5UvWQO}ZrthhVAOLxufpI3!B=_0H@W z4jC(UPK$>pEq5pWLuA=#n}oehT;6MkAnpI^y_P#wA{}k{{lI#<`G~9`ZeN)X`Jqd-`fOzTe$@2***%?^I;j8-S9?E?C2d z(XsVc`liGU20g`_nfdsFpEU_@&20*gva|SiVwe$@<Z(KAhi_?L_E$Z z;k32%{fV8izA6_D`?d>s6B zpTtZhr7)$=QA~S|&ecw!r-OZcyR_4ha3V;wu-Q*Ub=#%nW@XR0cW;wJ5L2r-Mi;M6>bW4T+<8&L>?fW&!=25Czucr%hvqKV|%^vCwt*s0({MqKfpWiTqFv zyxki-%*vgWUPC*tN5-@DiXGh5?pmpCx@p|*K1oWcWLOF+Rpib3buejaB`H}6`QUiG zlEKs11MO#$^{JS^4!RgJ^Rw>7Fj=iHi&RN`j({MA3WMvMdW8mz4WB$-*L2U?$BnLgEmm$8XAb$Ge*EC z_boIEJ4s6mN-l0nO01B{OOPLvuNPLwH}0+SG8o(Cl-zX509RHN-|Ln8;Ed|BGcPZY+2-DsCEv=U)1sXQON8;ivEM6#N7YC0`un4FhZGKc*eyV4*0fuh zn8Aoa(2=HpTP!53W5Lu(nSh6*adO?W&Nr-qny+z=(egmJl~Re*2N4{2!w$?DFT={# z>SV!4E!iXfJnlU&T|v4H#knb{3+p#4@wbC6+pm7w3w4H@1281!fZ`5F6}W{=E{VZy zaT0_XZwTH|Ei6UK?`@53U5cgWeX5D}M$(1lpA?EbN!0ncOnmL+vJDt3NpYs{tL)pkYtp192;nKf_i-~@^ z-(npvyojZPmcLqxpf^-(=oVbO?=iwz&y59J1oi&B^ z%q|FDWW!WqD}{h$6LQl8U!4~VUf|Q@!oR;DIoJ^-Ui-O7nhYH96lpSz5T8&vB9C_OofY$6 zb<|g#g!=+S5^yTNm%Z@<C#jI4FJ{wlAdDqR+4+VSgAhcl&hspJjI1{f>)zR zNFwGF`LKs~Tx0+=+GQs$B@GTVxWUyk!fHYP_)jhsNWugioy$VH?B)`sfUeM`ofXBnIHqqy_Q2v@n+rK zht&yng3on%A_cChD?#GsXM?kBkxk$@p26^jR;9SYCoKn9Yu|Rx49Kj|Ub3b&&#y3i6sRqWvI2FSl`$+3K!~vCwji$= zrOcY)pl2w<$^;#d;EeB)-iDJLKOkuXJ5i;KzVB5CJR;i@)&DuM7}x^e80wYPaT?~? z?hqEqJiNJ$q{P@^+9#YLZR8yE>ys7coK!?x^qay(5W``m&F`PjM-V@eMc@9uS8tB# zk&hy>(z-mIa(5W$ahf#!Q4;VMxVvM(h7xS@Ow>~E6)Dbvs~R8q$EyhxosRgoijoeC z1Yo{H1ljT-_hSXvhdnIAJGs%4=D~rnx*#8HI$dbT+HeFnFB@+9Jo9X^zOBta;H4wo zSdfS3pwj&{8pigZ!EwtUaKrN9y8#uxo?Wk67fxkn13MGvpkN`dmQ_gy1@B{_uB<>%ji4cZu4 zbe_PHkb6;ZkkQt&dCx&I_5c!|)3z}6khQs|3l`uwwoc^yj2GSq&X_O~qk=aUTA;}A z&#Z9h?bJYQ0*w;Ga&@A^Y1+n4YeHTOTa>=t+XtFr0ujcvxIYK*SFwK%w;A2!U@*F7 z(YE~3dQpD#pL?pmtxZ1?l9b;c^IU*7wbQmin7Zdm)g3yFDnR^R1_WSkiB-H2(f|2L z3g6=H#T)Sn58-c){Mpr2Qra=$d7hc8hAQKu?FoH7VZ1Y z59H&66=+MH&K^H+fBU~Bq7MU>2-^93=Lpe9E8ye=996VxIu1X)D~$FZHL@}fCYwrh zwS4(@&Z?}D0Vx^Nz!mdUSML+-N_yU3tVioR%qy>)$a-_gkC(sk$YlA9njSl+U0>Tk z;`eI;sm`i9#iUU7%Ci^0zTKZDGgdkhSKGaKR`C`}=)R?|~dic4(kbXP(x(Rah9E@UZ zL~MI|>7HqoV_RszY;gu^UG>ZbFq?6jAfQ5xlhQ2Jsylkm_f5?UBZ(h&6p+l^+HnEX zR4!hMfvVx`IB`{YFwE-)aL1Py3o;`^`(RVHqoy$Kv<5*B9ifm)tkUe?2A$%+!vhdu ztwL`E6Wzv=_izRsK*)3Z{WIt1G}@!pL>fL^Tz^QyGGy}KrxnplwFU~27$6c=^qAkOc7x%?@((n2y3aPA984|N zrhY!!-reG>cc#zSxrzX&8W4XYkeX6u$h;DINtgXG8(&)$5CE{tN)ZV5h5h2eC@u8L zi^A9NdmVe9Eqc>#08;a>#qT;vj(25pIJP(6Tt+H%b?gzIC%G`V`|A3k6Xk+o8cZwF z0BBFEYss624+trO^%OlIO!L;$a*#Q-vx?Rwai?f<1LF4`D2***Msp8n7d|oy*IREG zsR!(4t0Q&SFP@(4BPqG9{5Ap$S=$89`%8_6HL;Z`aS~95$f}1t-Wa z>$1X5gJ5A3Q!7ytLr?n=Y4}8W_8^J@uuwoT&^nQ!3zjY`g_~9=Il`=l8mLVNHuz?X z_}`+~IL0lD8sbL)jS}l6%yTQ4jEaF!2GrEw^H%-iJMIhJ9vohvf_O)8re~{Fz6zvg zdsT!xAUFS7HKghgoq5a|nKPoo7pjeNjNqiiS`bOh4#a90V8TL`PVy#nRxWBk*pXJi z=!(vowP*__?e!cVf4guxYg1^CMk9qqP+#9=e`0vHEpL}gpt*ckpo0}V5pXPO+yD)c;%o|JEXnYIuQIXlhB6^7jgBVW|`|7h;m!0jK zbjNP>5R&FDIz)&5io{W;kQxY_ArarE9I5`|xq<@ugaNA!0m*hgHAq&c29WVZ7WW|7 z?Yq2efwDt|sO-RUNE2jmmlKJnJoTy1)b3ag<3eWA;dVX;C3?=th+o~`PjI?%!U(+ns! zl|U5Q%gK=nH@DcP56aocKx9RN5z6WeJ>=W#J zDoxU>*bK-9o~HC_o>foAV`_aLosC1r=u_Kz_8OlL6V?wkZiY3InrdxS<1UX~8s?od z`|1z1(2e^vk>0g9TsW=#)t}i*$PxL3dP#$A+B72_2EvV6+E{V4JDW}j4FsViXQ-s7 zRM7%cPriVjIWMAGk<>S?dwchnZS}2Ni_40YGH6Hi?en+dV&{YpSa(VC!jZDfO`{N2 z1RQsDJO)Xm%1`50xnJI{daU2l)omVN30Yd3pR9@y-Z^+?qt!qc#n62VUmYj>Yl|*e zIm72^)lgI3OX1J%Wlg_;myKaQ-a)4Vemrd$ekWeX-#O!*B+arT z?+LRIoAnibmcdhAw3tO-3Q3k)9ymca^HB$WSpAja=DUS5K*tZra=@&UmyEMRE;^D}o4nS|XnQ&sipNk~FRFWVPO z16dqOF;by~v#VW419Ux_+9srYAfC|Yt=(S)M_p$w>;s_IQ8HlKU8kxX9B)XC#Eb2J zkWn?jU#MxKV;*S~d2rtF6sh!pDxJ9{P)3crVZz+*N0_%iuCL*c1UA3QC+ zx6xhU0vKFSJI^YBrIXJq-7a^cA*#T0wS`CFMFn|YOCzDDhynmY^)^z7{qWG?LH@vP z@4LFm5%Y9B$!t6Ah;B>RNUC@r@Y1Iewdnk8o~mCCTr~O-z^-}K`eI5?)MtV~eE8ZU zQr#dlEcZ2GHn~N;p*a5HDjH9$Hf``p5(>-5&eK^TtI~tcqu#XyR|4C-`VzKjj z>Y}Hu9~~Kfnnd?_UcoU)z-}z>*g|_hB;igsnLzYSI3TOGJ)-v%!HH~^eC=~7>QA+7 zKh?U)9S-Wkk4^F9tMT^hq~vpy%d&4NaFAfcGUAm~rKzbfW_=DXVj_Kq8Iv>}^rK0k z8Aj+`V>#vL`+^u6$)bP807o*#HI3bxtlACH&O?pk*;6S5~U=k5RfdD~wY5|{lhIS%* zpv8XsK!99O_}m@^c8tb?!S@7p8(vMiZ?r#MJ$}7m%L9||ec7J&Lb(>gzx6d{y=m9g z9tRNWC-I>2OM3RAazWm`uwNTZB8|_B|yR?6#tSKo_tk2sbN`du5h3oxVa zJcUlVLqwG^#`$%}WhR7rM75l^*Z&{`4t198LAj!WJt4&J?d$+UsCQ##DEHunp!ADp zOQjESi4)zGioPqPhd*gL45rvgrS}o_0as)W9D*Vxs};^CY4Ot+-4BzAPuO9-yS!cP zOlT{qciF_-?wfhK?}^|~!B=s@3X=rQk2>kXT>l6_C?{6*5tla{vs)OD5ig9+nnh@( z$A=Z0USKEfOUV6#Ql!EdZ02-=+}Z5}Q&xnhA(1P>Q6jc2%1IlmN&sfExh}#aLA_BF zzai3d%D_|YpB=-p`9xb4wnmqIwpGW; z{DQ}oC?dIVLi2RoD+1F;679^(oBL7|78ax{Ab%WP`wO}&uf1J`QW+1!a#%wD!Z;hRQWG16cUF>ZeRO)1wNI_B*$uwm&mLP4&S_|6 zP?XNfpUC^+TURsqsUM)M*a!2w_=9>djBW7Wa0hA!Kt~bF8{|PI6y3~`CViOe;pJts z{BG6Lh7Rq$_iuA7nK>06crUXDIX<{zcUXkv3}j#1sR{itwM)$|^~Ow9LpegkM5QxH zlYV=Fg=2@STFnUcrs&EbzsxbkSmA`rkrlSgA;Dbs&G#jL#UmiY00#o%Uhryu&e#H7 zBYvo!+H)fD-rO&? zuti209dF%^czYaJ%Dg|3v?30!d8i51#^O=EN6-C!=5$Wf-gkH{;BfKs#?cBSBySZo zNw78RuQC6HHH8QuIG)SX#zNi-6KquVzfbsl2S0^{Wj4B{d!=hDKz)va}aQIpEWBKG}tQ7|bPf*^B z9rqp~T97gUqw;YBvOu_sm!s+s5f2>+UlKS_J1Q${QKb@I+x9Laita}8q;V^07nTUL z9qR7I$rE}m5a;JK2cHbQ>>%-^aEG^q@wUw=nlSsc zJQ8nHf0_NJ7L|yq;nmZIeQ1bcCFXM3mwh0PhvgBfNnjBDbM`m{EGx#)env_$S1MRI z>@NAxpqd+*#uQ~#@shnOVqsXX5#-)&(V}K52Gj%+848K8@@mmsn z_mVdf9RtJ^B*chRf-W48*qgqSCpV_pazWQOL#j;v-Mts3Kc+WO%?t)ZpyN|Ky6904 zs()sVd?H8DH>{yx6XTG&{I(6S~n2NLQ&=+WCBR$Nm{X3Gqbyb^}_XjIh=a26hTBU$4+E9zC{ypj{#KVrX&X zIKFl<4S(mx(R-z@vA1maBHAV@^ZZCg1cuPe=m$U)H1Ege97plu|3XwS$biMW6uK(3YY&q#Do_DB6iIP8<)o%Y-64Q3qEKxHvkQ1$%~srIEP ztJUhAW+atn5oLfoHUIVEy2k@Jua*1!!?{{-xz|fyFllc}y>l_}JmdTup}m&}|!gh&n1lvo@i6_32?>YMAD z!2OBkvGDwb7f-q@;W0v89bD|4&vMZ?;krEBJW#^On1dw?S<>j(LdW;vf+ja3$me*~ zZ)J2(HOdt&8@Yb>nlWotv2}pYc)E45_mUB&?}E?!`27o+&!mo*!%r4Zt&Ef1YgEUn zO`u1F9!{>99#N6e9#WFh98;6i<)0s47hay;7F?X%gaCmvOc29gFoQ*hC`Xhqf=&}X zrC+~-M<2_895H}eE?pyEv4B%8Ys;9Ck*=k#sjP*qU947$IN-N#m$k zp(6Xazo6RNJpcd5N$P}Y5^0lYnnWw-aib_21}z%6LHLoez=C^G#L;mA2X|qF|Cjv! z!y8D!cy*HG^0JC@OEU}ev*XhfTr3>y%(VaV=Fel~01Fp1{KdiJFHWLV#>y2q`qQzM zr;DEoRjP=&P4NG+YhhwzU~X(}XlZ)2b9`{V_tHUZQMY!E*ni^S*;yi&@J(eNVZI)J z*^rk5(g2;(JO$HOh244?No;@AiA|4A?QGHo04DT5Z=Hz^k(HSpp{1Dq>T=z}Hb&?2 z=K9Cbje#na%Up}t)m525&GW9zf3EfaMeNLKTex_Fa6%&;A_o%>?2o4|5ld`~zW65t z_bTRBBAbr&lO|k$a>E$&CmxEJSLb?znCZ3UXv9;I`u^RUq39s{MjV7J2u&OmCxuj; zq$o*UoHW-Dg>0iq#T_U=6nrKDxn_h5Fc8GX%u$YW&IHJ$zR(weSwlJ7N9spm zN?A8N*YpLv>pqWjLZL8ptTfdI*zbCvN;h8-NmK3jJ$#wgPXT65NZX%F}cdWK@%^f1PY#;0A|A8*8=uQO=(U6Eq{ihhq~9t3t8viA=$|#PdIu)!Bc8 z4=7Ip`!Dj$|A5*4$GYx6j#j6A=$sie7nJ{9pH726AZ$?wXKN6bm%m!#@Rcn{;4N8} ww=cqlfW#iATs1$^ski%lpjq)=XpIomvc&9ziEE$^^sD2?>!Z@;I0(r91GL}bLI3~& diff --git a/src/assets/fonts/roboto.css b/src/assets/fonts/roboto.css index d65175aea..1eda1a2b7 100644 --- a/src/assets/fonts/roboto.css +++ b/src/assets/fonts/roboto.css @@ -147,9 +147,9 @@ } @font-face { - font-family: 'Roboto Round'; - src: url('Roboto-Round-Regular.woff2') format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + font-family: 'Numbers Rounded'; + src: url('Numbers-Rounded.woff2') format('woff2'); + unicode-range: U+0030-0039, U+002B, U+002D; } @font-face { diff --git a/src/global/actions/api/reactions.ts b/src/global/actions/api/reactions.ts index 461ef8f10..1101149bd 100644 --- a/src/global/actions/api/reactions.ts +++ b/src/global/actions/api/reactions.ts @@ -1,11 +1,11 @@ -import type { ApiError, ApiReactionEmoji } from '../../../api/types'; +import type { ApiError, ApiReaction, ApiReactionEmoji } from '../../../api/types'; import type { ActionReturnType } from '../../types'; import { ApiMediaFormat } from '../../../api/types'; import { GENERAL_REFETCH_INTERVAL } from '../../../config'; import { getCurrentTabId } from '../../../util/establishMultitabRole'; import { - buildCollectionByCallback, buildCollectionByKey, omit, unique, + buildCollectionByCallback, buildCollectionByKey, omit, partition, unique, } from '../../../util/iteratees'; import { getMessageKey } from '../../../util/keys/messageKey'; import * as mediaLoader from '../../../util/mediaLoader'; @@ -210,7 +210,9 @@ addActionHandler('toggleReaction', async (global, actions, payload): Promise !isSameReaction(userReaction, reaction)) : [...userReactions, reaction]; const limit = selectMaxUserReactions(global); - const reactions = newUserReactions.slice(-limit); + const [paidReactions, regularReactions] = partition(newUserReactions, (r) => r.type === 'paid'); + const trimmedRegularReactions = regularReactions.slice(-limit) as ApiReaction[]; + const localReactions = [...paidReactions, ...trimmedRegularReactions]; const messageKey = getMessageKey(message); if (selectPerformanceSettingsValue(global, 'reactionEffects')) { @@ -221,14 +223,14 @@ addActionHandler('toggleReaction', async (global, actions, payload): Promise => isReactionChosen(r)) .sort((a, b) => a.chosenOrder - b.chosenOrder) - .map((r) => r.reaction) - .filter((r): r is ApiReaction => r.type !== 'paid') || []; + .map((r) => r.reaction) || []; } export function isReactionChosen(reaction: ApiReactionCount) { return reaction.chosenOrder !== undefined; } -export function updateReactionCount(reactionCount: ApiReactionCount[], newReactions: ApiReaction[]) { +export function updateReactionCount(reactionCount: ApiReactionCount[], newReactions: ApiReactionWithPaid[]) { const results = reactionCount.map((current) => ( isReactionChosen(current) ? { ...current, @@ -136,6 +134,7 @@ export function addPaidReaction( localAmount: (current.localAmount || 0) + count, chosenOrder: -1, localIsPrivate: isAnonymous !== undefined ? isAnonymous : current.localIsPrivate, + localPreviousChosenOrder: current.chosenOrder, }); return; } diff --git a/src/global/reducers/reactions.ts b/src/global/reducers/reactions.ts index 297c1751b..176cb9cee 100644 --- a/src/global/reducers/reactions.ts +++ b/src/global/reducers/reactions.ts @@ -1,4 +1,4 @@ -import type { ApiChat, ApiMessage, ApiReaction } from '../../api/types'; +import type { ApiChat, ApiMessage, ApiReactionWithPaid } from '../../api/types'; import type { GlobalState } from '../types'; import { MIN_SCREEN_WIDTH_FOR_STATIC_LEFT_COLUMN, MIN_SCREEN_WIDTH_FOR_STATIC_RIGHT_COLUMN } from '../../config'; @@ -40,7 +40,7 @@ export function subtractXForEmojiInteraction(global: GlobalState, x: number) { } export function addMessageReaction( - global: T, message: ApiMessage, userReactions: ApiReaction[], + global: T, message: ApiMessage, userReactions: ApiReactionWithPaid[], ): T { const isInSavedMessages = selectIsChatWithSelf(global, message.chatId); const currentReactions = message.reactions || { results: [], areTags: isInSavedMessages }; @@ -57,6 +57,7 @@ export function addMessageReaction( userReactions.forEach((reaction) => { const { currentUserId } = global; + if (reaction.type === 'paid') return; recentReactions.unshift({ peerId: currentSendAs?.id || currentUserId!, reaction, diff --git a/src/styles/index.scss b/src/styles/index.scss index 7171008bb..2ceb50387 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -33,8 +33,8 @@ body { Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; --font-family-monospace: "Cascadia Mono", "Roboto Mono", "Droid Sans Mono", 'SF Mono', "Menlo", "Ubuntu Mono", "Consolas", monospace; - --font-family-rounded: -ui-rounded, "Roboto Round"; - --font-family-condensed: -ui-rounded, "Roboto Condensed"; + --font-family-rounded: -ui-rounded, "Numbers Rounded", "Roboto", "Helvetica Neue", sans-serif; + --font-family-condensed: "Roboto Condensed", "Roboto", "Helvetica Neue", sans-serif; @media (max-width: 600px) { height: calc(var(--vh, 1vh) * 100);