From c10308bdff8792044f1a55a6ba5456d779b2a733 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 25 Oct 2022 17:51:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/chats/chat_bubble_img_broken.png | Bin 0 -> 3312 bytes assets/chats/default_avatar.png | Bin 0 -> 11937 bytes assets/chats/delete_emoji.png | Bin 0 -> 1707 bytes assets/chats/file_msg.png | Bin 0 -> 1861 bytes assets/chats/index_bar.png | Bin 0 -> 5024 bytes assets/chats/play_voice_receive.gif | Bin 0 -> 2861 bytes assets/chats/play_voice_send.gif | Bin 0 -> 2660 bytes assets/chats/voice_volume_1.png | Bin 0 -> 2100 bytes assets/chats/voice_volume_2.png | Bin 0 -> 2177 bytes assets/chats/voice_volume_3.png | Bin 0 -> 2236 bytes assets/chats/voice_volume_4.png | Bin 0 -> 2292 bytes assets/chats/voice_volume_5.png | Bin 0 -> 2346 bytes assets/chats/voice_volume_6.png | Bin 0 -> 2403 bytes assets/chats/voice_volume_7.png | Bin 0 -> 2442 bytes lib/models/im/contact_info_model.dart | 5 ++ lib/services/tim/friend_service.dart | 26 +++++++ lib/utils/im_tools.dart | 6 +- lib/views/contact/index/index_page.dart | 92 ++++++++++++++++-------- pubspec.yaml | 1 + 19 files changed, 98 insertions(+), 32 deletions(-) create mode 100644 assets/chats/chat_bubble_img_broken.png create mode 100644 assets/chats/default_avatar.png create mode 100644 assets/chats/delete_emoji.png create mode 100644 assets/chats/file_msg.png create mode 100644 assets/chats/index_bar.png create mode 100644 assets/chats/play_voice_receive.gif create mode 100644 assets/chats/play_voice_send.gif create mode 100644 assets/chats/voice_volume_1.png create mode 100644 assets/chats/voice_volume_2.png create mode 100644 assets/chats/voice_volume_3.png create mode 100644 assets/chats/voice_volume_4.png create mode 100644 assets/chats/voice_volume_5.png create mode 100644 assets/chats/voice_volume_6.png create mode 100644 assets/chats/voice_volume_7.png diff --git a/assets/chats/chat_bubble_img_broken.png b/assets/chats/chat_bubble_img_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef1e830432ba3e8c72c21c57f6ffd22dd314290 GIT binary patch literal 3312 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 D-YX5+ literal 0 HcmV?d00001 diff --git a/assets/chats/default_avatar.png b/assets/chats/default_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..45118389abdb1b6a160dd263fddbb6404a35ee65 GIT binary patch literal 11937 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 HeEdjrpc(OMt6`fl}RE(5mY4r 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 BJ=FjJ literal 0 HcmV?d00001 diff --git a/assets/chats/file_msg.png b/assets/chats/file_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f6de84cd424bfe870c8e3eebcc24f09f4d9cb8 GIT binary patch literal 1861 zcmcIlYdF*i7e6y*#x%?g$=$@XNbj0Wq{utNlo=Ho6Om-pmb)2LZq*;Pja;JS((AS^ zp;_08M@)@nY0Dy(St+Tu2JNic5^1s1=l9e5;r(zf&-448^Lx(ooadZ$FAp~&!GHh& zL@tNTQ$^&9;c+V8?JRhx3aD6~n+r4y7|j6SR=I2zKR!@d@+{nFzfRv^N#urRak-i0 z+T`#(x5+EmweNm1rPaQ(2$Ar1QVXKyj;0k7U548o4KlpgyR|7+AJxU>WS=G*XF{;y z?b90%%y;p1x^xOk%+0;UCkmwP$4|cgv&gn_+cQT+^1ZSrn&U-&*ckp})c%>7Z{sPj zk(2^7;6F*Zc&Y3Ssp;0OEvHF=gxk+ZXVQLmsWf!tdV8XDC22C8d_)=m2Lb{*>qch&cFM%L#r+bUN{erK6q2k+ zT5X4*%uiZya>+TOYq=i7V!U$19EHcqkDJU|3HGP>9*P~91bDl~%z4N>_d~_>;6Cof zAw_w~U^xCh=p8wOM*br=6pLd8dOpFvjNWpr)1*s|I;`53PbeoxBkVo>^lbmykPlU{ ziEC1T$rh?XyeeT}fby=E7j|QCI8cc}%P7EE#o$;?ZdUV!a}+$dqG?jx=H6sHcrI$H z=xi9S&icj_WZrjOXrQT&#ClJ z6D%o+X6iy7Z}2l(MP$JE`R5(b)TfTeAX;#r=70yAe4+}``hqx$7h{T4JvN|oSVEv4 zw$ebO%8x?Jzty8rOsOUw17uZ=7!?%#NX06J92NzIe658>$;_c8JT-wGp^Hs{DSa6C zc#DHh9}ET!#)$0>lkYw`;ZwK2$`>B#H-gSda%xmt(%GBiPM#5ED{;ccgB7(4n1R8; z!-plKCcf@Fwp1yI1LiNjr*rRCOm>81`k|5IwJe9}g4<)u&H*if0}qX5dRGjt894r` zMkRkISk!t&?=4io)aeHX80FXX^P5?73Q|z!HWJK4uX>T$f7@wx8`fET)0>QfQ{HmX zkm)1;g^ri^!`j{FU?#2j^GD^I1+t#Cn$0@>BZ-GJB0{pVbj@G1Gc?;G`E7S6cZ063 zZdCnf7!FLn*WAiXB2dZa1dF0Tg}7oGTg_iW4Q6+a8QsbryOy_}TWr5IGeh>!wZ_x< z@SV7HcD#++Ro=Rqni@~?X8F8Ac`_-37uGT|6CpZOSD8kD6%caw73ii0j33`WQ$}Fsees1)Vjv zc)+}O;9!AdrFDz~_}8Kw0vPe={WPHTzoe}Nhbm4X3uuLXtc@V#pkg+tcQ#Hi?zZi5tI?gyZi7Qd8O`cBEX-(9rQntmGka9qbFd*}KLOFYmosi>YG^$3uvCJRN#Si>mc*PNTQ;_2D?ek6m8~p)ZdC17 zqgn9MX!FFOz32+WjyZcF4}zc_oB`IYkRz;>bts_i}z=s;}_e>*?H>#K=fxrH^EOfqDL0Rs$R; z^?u+K!-Th%nVbEo@Id&qGL`@)=lAWhMl-RZ$@a0yEN E2N8Gy8UO$Q literal 0 HcmV?d00001 diff --git a/assets/chats/index_bar.png b/assets/chats/index_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..fc688ef0bc6556a31f52ebb955b2b1aa9d1394c3 GIT binary patch literal 5024 zcmV;R6JP9!P)G~DC^=XHY{%vidc5v z`@VPc&AtDfbIzPPXKnycK#zzB zg)D%d#b<+Wu2<~`Ac!?GVxoK@P69wqX-HOj83nTWY$2CL4HPnSse#PQOeWRQ-jNz1%u40*zGL~GhtSgl;0Wvd}0dQ&wp?pPtC{*k=kGa@j+2`wEwWpc^u!cL0x!z zIx{!|Vhf00vU!0~gX<9V1mXzkn(&?A$LEEG4*EqXWs79~!goTum=hz-nIiy16R|KR zYS1=fOe!~k0dWAtIUHe7)S$n_qXM3+&R|T4?}d`6*g+pj0c?J(bWLepEMN-#0|#S8 zY65Wx6R<%RmORFDGY2j!$|WWgbQldjt>n_~^>vxmdia66E|HxB59bPhz5L5FN6 z2ilhjpT2Nb0%>UwkJd6MA0e}K&<5&|^*uvcvShX}N8~=+<_qb3kOyZ(!=B;VI1L{U zhX)>td*U>iln`>{0z29KMA_W1*3X_xed`&~It$u5+WXP*8jj%!C?$sPJm?{RC_W-+ z&3h=5F(mz!pDXkvRsuokvPj1Csu3%w1;QCz)}`fr|B|(DwcCA>xA4(*A*+;>Z|VZ- zB3vb0Cfp}n2UPg{gV09khUgCAF8tm4Zd9^HVvq($)<^}gzsL<6a`I$azP0mn&IZ@{ zY6S!v;iSt}ky10^;L3PJBl(j+EQa?~nY7(kxeNSSZ%clY4xqL#J$?>QYg8J}evWn< zUY~SLsU<&^zd}zSm|m4Xz!rR_O7p;89QG;<6xh=C(t2szXf?DKwELeqXg6qo(%NWS zAmu5x8asp?!5XketQAnPPeW${u6~h{;Xem`ZR8ymCe{^K& zqoO6{AC7SPKh*2!ijijQf3s-xI$w4K_UBzkF{LM;S8`kKtP94P}`7#r__&H~~_JD}gWTE=Py{qjv_I=uWgG`V%cb(}{k>AYuS~ zI!Nb<>RQ5koV0J zg`fzOfE8dZCEl4%84{1P7Am@-P$StH3=|TQR z-k}((gleD$s0BI>bw%lD2pWSAtQafBDzRGF16r_aSO?aNy~T;RI!?vyU>1Y$Se%8=!sp>j z@p618UWcE;ui>3|AO4X*Cg>Av2<`+1VG1FQFq=?BC?!-84iQen4&6m~MI;inV18U+ z-V%uE#5u&J#Erx~#N)&(#D~Ow5{aZsvLShr!bwb$m{desPpTmuBV8qRk>1ED${EQy z$_2gRSf;pF@vLH};#(y(C2J*Lr6eVZ(lVtT zO2?IMDZL<*$rfZEaw1twUPi7apCsQWzoDp8>?sUN3S~Z}f>KAhN_nO%uWYVNSDvn% zr(CLhK>3n#uZp~ig^I5VQ)Qk?g-V0U4V8XXbyWw|aMeuJrK-DBX+k<={I{MAy_ z3e~o%om6|Mj;Wif`>M0l7pZSkKds)SLDaC+U}&UklxX~-aZ#gBQ%!S%W}Ie@W`*Vv z%?>S0%R-Bx#nW1@wO^}U>z%fNHeH*oy+pfK`>OV9oiRE-I&7U{ojp2jI`4F;y8gNu zx+`@L>)zAD^{n+G^=9jB(mSo!J4R!S#~9X_;xYTj+}20+t@Wey=jd z5E!gCIBC#psAcG5m~Obn@Tg&rk-CwW5!Yyq(J`YZR81S~&5y2iBGw9m}QY_eIt*>1Dj=JMvQ<{a~N<}K#0Ei5hK zEf!lGw&=Fhv1C~0S?;#HYely5wwh&CX?1-pajfgujIkTXUbaT9ovb<571oz*P#b3( zuFXc9E4Bn%H(S1KrR@znB|ExZw%u;KPJ1o;Q2PS=!}ia{nT<;vw{l#|xQ{d^8V{as zcO29lf*lGR8Xf+2w02}URybZCPaYpIe*XCS@y{pNOkhvgG~uR`y3=H*#ZJvmADmsB zh0e9kJuYT0$u1jQZn$c=Mz}6@J?lnro8&g%t;y}JyR*C4eZTu(9(EoX9=klcCt6Nq zPuw=~p{I!_({qbwhZof=+3RPo4sT;`rgx?H10PeL6rU=e$MmuEbb1Z_*(BN|;iN;8 zUi-TH&hbU6tCM=9#uSt%u{yDdqHX zeYxe_=jlP|o6}!sglFu?_{59n?a7qOOwMfJtMN1Vr?L#Qa(n|&ZhHHV+mnrofAB=>P%K;HH__#D=p z=6vJ)h54Ox>2tTtL*~t#*F4{Je&PJC1%V58E>u{UvGBJ7TEVJF-*;8{IA0-BXiPbNLs)U+Qb^ zYPams+EcO@?3L_&vM+gG`~Hyq%?Df$)E+cHxZ#lcq2fBEF1N1lFz0YbeM0?}hTw+g zMvulrzuN!0qsh3b;)v#v!%`5T|6Cf z`s|s2GbdZ-obMoG;Y1I<+49&FQy87o9KGU2?fpf7$JFqCZvt-0;lm*}=bj{%Y-;(%1D|`25q~OJC@|*zt10%jW)w{`;>oUk$u2exv(l z=UdmeE$`yrJsz0-p7g%#!`KgvA45Lg{gnCX(|-UhUGN<0w)KDj00wADL_t(|0p*-u zXdFcx$A7=QOEKCMYm{hI0!B?iV`Fl6eXu^5rlozbK2#)qNJLZwK|!I`7X^iiA}xZC zwNYEaDEJT&QcN_KHpSdsVr?tAAT6X(F*S`QX`ANH-8g&yvbVQ;yR$npw|6%o?4O(Y z{eGYO&hG8b&i)WMm-Dw>Yr-Z_|LUNI)L;$N0FZfD0QG+cC&;)merxQ3dCrb)nnRoQ zEUS&xueOtRXom*Ns>up?35H;xda!xgUVUD*H~>eQ65Y6mG&v0EEF8z9q2C;~W^U#R zc%)X@OS(vi*=v4-5$xI6E2En`2LAP)r8me6P@NyU(>-_{zVN@-I_b2%y>^a(qm79- zp_{C;=YpjcE@RKS1DpR~X~R~R88}um_b$8wJ~lT@wU^*<_1lm9%hbkpWk%pgXW}5# z+qUk!;xxV*`r3JO^Og+2V-2fE$To9Ryg$Kj*S*~GCwHrM4Muh+K7);RYxAi`=6x>( zd->SPSh1yWv?~4qyq0MqcZmms`!UYXrw!n9b=Uh~3qP04mWF)K1ZJ39nKZBj4&O(< zhengul6K=I-_EviKF%zF!!6KH?&RajjTQXI*U@&?jfG5GC9`6*9DO`-!V9?cZtITK zq0u&@7+LofP&nL@IDs2j4GOIPpMO`|&u;CT0@GvnG`*wsR=Mii6*%QCB$FJHdYVfwp!vZy~qg_vBbY^X53%qZsXZXsOPDjO(FFCzO2`z-pWE>z9~ z9&1?nMfNqbgD=oAa$c8SJyHU=E;_ajIMONe2GD`BYfT)Uv2(gK9nFYIxxHTt+ufRj zj-8`09lVh-n&A#o+uDK38ik{c@d=@0RoYPbtuv~uQJ9WIiX58bhnQ=LQRS?{be#Eu zh=JGK=mc#ssGL=p4yy|oXBGsgH_M=MTH%penBw^qK_8KXZJR2m6;}3^IIitWku)&r zlAwWT7q&WfvP;tko-xtUNV0F)v6BiXx+R4p-i@WoNnqR~J`!mjERboJ9;;vB{sc!F zp0T3>9h)k=+HTycg!dLunF77E;{7$2iDzIDByvozrwqiMr8%o3wP%Q2U%o=(8;|OQPRj5 zo*}gr0jxq^RkmSxsf5R}*p(VqFD)yn_!T-WzjDeA|2~CO4)6_SciTw?D+QS11_uBt zrAw!ARba_)l@#TKk;PSkCyEk+Os5*$N&wEmrNE@T71rTW;9JTWI1iTsKRgSQG7l(; zz6@~HV;JB^i9yJ7Wr&*u#&QHU!A%1D%MaKTHwoPO7nawFs{n557zXlpOBghe?~3G-qLHw(Pw3VtFi z6d8tX;%0$qOdsO1jL3xeu#Kw$4oyL+9>)y08eqEmK5%?(Rfv*CMwxJPfCCrcV!xJ$do+gRcqnF5_zx15w1>Q71;kg z2+E+LTIW_A;u-+APAboF3rmzC$G8T-0Kq=^NK~X;?7F};IEK}bqE(4gTyiLJ;nNv$ zg=+!~KvP)^7dy9u4m7pt64$UxtCpLmafb(=IxVK202+Q3Hg}rN00>>goivl3hYHRq z+tml2?usceKy2( z-;MyM_ihSw>6G4~i#I=p;e74o?ZKaJ3h=@;JxgnGnx~bm#k&;2L&1*Cm$mV@Tes}e z8S{~+5}!)X4zPePhQ7)~z-MXMr891VeN~U*51B0)OZ*NW;*D#0mezyOB!Gvc3=w!C z31ABT_YJe}h)wf|%j9tNTOLXCn1UX?KfWKHB~^O;-EZRx>A?eZ1XWnEebUlL5WW}o z@lDkVi+IeVsaiAe(c4KU=_bLnMR$pKL^@V2(L-rnAs znVCzME^TaVR99Em)YN?Y?Y9peJV2w-QmORLojc9V&DXDAzkKVd7zrVh|9upHYFfefS>eY#f2?Bv|d6I(YD4XJ=<=Y3Z$7w|G2Wd3kwmZf;aml!JrA z^J-r@iGzuo}hqho60OUsiM4GXCWJ4mPuKkgTo|chfoV9NQQmHX|&IoTM6koIU!D^b7Y_oON z3eZpuw~3(ZZFD471Bnw-LF`2@l&{({-Oe9QI)M&-AnOR!L=|lM1WZ>6OJ;IZE(Wyh)_(pYO=%9-p zE!8!A#e#*}ZW#vQd$=k+ZCh$HVCp7-1O@~#MHmo=Q`SpUa7Hm5#$R zV$CfS_ZZz{yIqRKvy@M3Vx(%Z;7;KvE(cB4kRStRNgGg!BMkDTtBV>3$<&e!!PCAY zZIzy+yfwO%<)rFp)}HSvs1Ya zdkkb&paykmOw95qkcSs>dcmtOoSJ_wx1kOPqj>N{=QWADXEZ}!83{pF!^~WpKws(S6?_VLM5C^0HE;#t+MpXjF4nsBK0JNM)f@OOg7 z6lmBVkNfK8E;Sv}?^$=PMxLyW_17|=UT*~Vv984du?_0M(!K*39hCdAKP})Sa1(hH zBleo=L-lJM^sM*z#qYJ|4Sp_5wXPJMw@*BLlfF~1`{;wa*`{)zhk^6@r|E|ly+Ys| ziySq)z=0}yimn0(5G^1elP12QRqn6oeMMFe0MyVMm2r*fqQ!K-vW-Y~4X3b`?Kza;DWS)FX-dSOT z7I|i)cO;SFGkM`MZW)`$03iBIez>u<5QM<3{O)nY&)C{FO$Nv)tD%`9Z*!a_PMIX6 z#v32o`h9PT@EXKsaE`P_dwd%_xl53sSP7Im0yp>K0M6a~Bl~x!9X?g4s@`o(47#Tn zWuO=@i5@s1a(u*ww5xNfT2)m{K~Wr$1KTQcrSUV{@bRCOB;9nb-Q$hb!t)|i3Ky(- zjVO2frqpIl@dw6p2(48$-Jb%QnAz6+*_*>kdxXVS=rVIplzspt8AH})#4L37psV$QJ0u`&{8wyiDKFTSP!#Hs~Ljd*A7N#m7*hbOQ^Y+H_=!^Qa zAVlT)4VYhzzkqQZ^uihD(|Qc3$dzcfN9_1A1Hh=GvA2OA6DNrd)RG=F#GtHtX@UCN zGrRgb^Pr}e!g>umkaPAm0Y(Z5RD(@B^r2}Ze3fq}tV9L~( zCe7CKe~IVT6BFGftjL_|txFECN4HuDaF&`UmWDk~(`Xsn%7=IINOZ+l_DM9`vhQ&w z?P%VMa?~f^|Mgz~&I9wmcsTwW4~$~teR~?%k`^fd&hnP~gIEAm1G2TszP?%vz{%!F z%QpE`zT-X}<$D)u#YHdhRp(g=074T^48F~mZr;0MxCQW2J@ywYvtX3 zPz?SB0Y)><)is=#-hc+UMnm^ZWb!8uc=aMmZ8D4whtP}8y(Mf_ zvVz_>E>eHK>&Us#kMVZhXpo~YyK^pkZrrm%828J1>MbR8t}n6jp15%llrW3@D646W zHJT(M7K8y}0Pq&t)e%n*v>aJ>H4G8=*RE_nwMl%))h?Ny`(%(!Z#X6=Ll)udZ$pj* zQF(80sc`)TH7a6WP;gv>Y-7nlNcE&)pg1UkL9jtQgt~RRK}xKCJjwTuB@6Wmk$rE} z3Gi@5bTI+t2?74H!>x(2|AcBpjixA|SIL z7Lx|{*v*}RZ!F=${0n){BglSp@Ib=ra3bAKWdL+Iuhyt-fh3QDq9li)qL5A}Z+rxh zwmuijF<%{8sZhyK~>_vVr%KVOX5I1eUYA5wlb iT(V{k)f6!Ji1UOgP}*+hMjcrUD3#&PqwQNYfMAjFN*@kV%W;Uu}ghVQ#FLW73)*~90Zy{#Y zRuoRYr1bD56487MHMNFPozB%gPMvym9^KA;ocp-vasPq)%YFay`t|jAJ)dtsmaiuz ziU}}*Gr*r$Sy@?CRRscpz+kX}fx*R#7a3T~T5U&1hf1Yt zXlPhiSg5V7otvARn3(A5>aw=BhQr~Jk&#NJa%^nu#fukpb#+5SL!F(SSFc{Jsj2Di z?j9HzC@Cqy;c!b!OGZXUEiEl0BO@^}F^!FlSS+@>y4u3Rfbk#^~s%TCHX<7&4h`dU{%;(Ug~$XJ%&l`uZj&CT`fUAuTP<-``&@mlqWk z1qB5Og+dGllb@eoR#p}tAHQbJnv9GL2L}fj47Pv&eis*)u&}Ua&z_~Eq@<^(i^XCu zFE2MYHzX3tWHO_oqE4JRk(89=?(UwOn;Q}mVrOTUm6b)MQh7WcnM|foC|oW#E-sEp zBsw`c?b@}A&1V05`~T$JNQ%0Q9{J{xbw>_B|c{==H~&0I+WW z2!>-e*Y)PY%tN9Qnh77zDPJ2_I^5#0EB8 znus;2GX#;m^%ze5l^|0}nqpNqc>q%50zF6CJ4plWuItdFY4lS?h$q6S0?DW3Xzq!}98DSf@^n@?{#g$+d$l@*U% zNCB%RYfZe~bEsA3Fsq>ogMIqw<>M~O@L+q&lpg?r)QNJAL9Dn?A-v}~P5+(|K@WxW zP(cXWAu6ziX)_*pc)UZF0q*J0K-L{!)}M)DE@mhGPP`8aCvUy)2jIF?HfJmsUvVP5 zks1zP7~76A_4*P|1roeBZiqLMKj5dpC`W0fTMT>VWzpD&s1hbwjWQG-|1CzoW^`Fl z2%Cq67n#iW63TI{&h>QlZK5rmbWJ4#HhX-IGBopEE|bAeZL6iTA!0EI60*0aG}!s6 zCW}Q;X#}i;IvG4wTPe!16xpGJ|L(pRyqi?{dI)8b;e4vknEQ24al^TmH`S-Wjwmhy z;W#iZ-tjlJ=FkzYpfZf_5o6s5)>7w?1xmNhFJyRGt$!k|eFXoeb&^yn! zYj?jkEYu{YsuNOa{M&gYZT=36S9Uk~HgWD+>>JhiJzv|@=Dl_2*EBl&eA34`Qz+y= z?!y5vunnO9#eGT6zuf2G3-VC}Hm;Kw8du*xG zfZZYcKqj$g8i2r@bpURObQnILzuOactu9@t9E0nq&Ipo4E?m-}wc z0lulPB+S0#Y``hRsh0WrgVw{o&=@ZVzKpv?K$ss&!^Z76O=h> zdbTf_XJ?-%nNek*27V#)Egy}o7=0Q!pj_-TnTTarCt_jknqz_Pc4&+-3(q+M`TYqh zG7xEp&Vr&lH0em}_zeHcc!-|HZ~ho&wQkf`76w2BPY;4pTPEVn>R-;qMyzh#Lw8=i zT)*4NX)26&zNKD7i%>1kSbQ#=TALOaB_^6XVt4W*yG2lf?(2`aH0RuyDvyRysRRh4B zEMO}N^E@ zq{my>6NOWNL(S2pctRr6e*d;~BnuP0x6mqX8267dTT8XWQoM;Gwh_~8Zvav6Xz34D zxWa-$z$f46q?QO8b+|4bSnny-RZn`x)RcQ-bi$P1^fBcQIT3)?ZG_PUJE9NJoFvvt zu`j$R)vae4bC49H?!GS#dTDyWja$59?W?Snp;+-R(P5XeF_ty~H+Lx!P_dIuI? zibsxavoOX~qay*hO$7(Fe)}xS>R`BN9d-!WluP>zb+oA1s3sqX0-Em zj?fEAB{tYIrzeX`XxpYQmVi+Mp$>tlw+Z^BbqTP@yj5QnNA7A7Tv+l&wpPSrB0yno p`7!y**wcJ$)49Q_VD`s61a%##8U?frXQHXC!=`eFtnV7__$P*6uXX?c literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_1.png b/assets/chats/voice_volume_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed01f5aa452e19af0396cfa636c1f36d0f128f1 GIT binary patch literal 2100 zcmZvdcQjn-8^>q#Hmi&1ge2-D5-kQXi@`8jiVzGDQZP1pC!z(*u3my*l?Y*#NKrQi zA?!+&iEau;?}Lfio6I?m-}&ux?!E8#`F=moy??y-oHxM|g@AB~aDYG{h>5X*HL$jR zzu6c;AaGx`pBB)7eXJ31P|bkYBA}x!&8`^&Chfn9L?SILERf0MrKP2nm6g@i)wQ*? z_4W0QjST{U0HpKt^FTx-5&=zb7k?Bm0u18ucmM;Q#{iw7&(c#MqNns0i0BU81o&eN z&_H^!0OsV>v8FRX3lyCJ#L2<`)W^*Cu@n5U{$c;md+5$FaPqq+;gcF*{(lN^#0?uX zfo+KNwMN;1zzmE`%q(mioLrEfxOsT__yq({i%UpK$()f@Qh{n{!*q1@;KrtAC<{xQ z>o;!N-m>TQ#C*T`I>gZw?K_Ex<~*WbNS#<8-l?R($; zcCCRrorPY)xOJwdPDwM%yTK~Zq?^B~%C{@XxIR|;9C*u1v1mFdgjcT2l@%2{_6m#^B4xDb z61X+4_|G15Q8kF-2(pvNCwl(PwWHl+V*$FkU9Z^WMAX=3z)*7S3o>&yW|qfQ82%B2 zzetE_{**rc!t?In@YZ~wlSn@;WFE7qsTA^S_+a6~!NPiSQt{5R)j+`*3h`32|FrU+ zBK)W>)P?gx6*Xfs$V98Z^YI^AFE8&VDXK5KXUP!pjSnR={!$5nj1=Y`>E)+XQhP9D zgO|>TxT{hhjG}4ogJ41jSAz@IJQ&^Kpz$m!HH+- z-HMMxRgBuK7Odwr=`E48bVxMO?n`V;3{h95SU`X3{-oIFSc?!9uc}zuHpI^K*_`@v z{lHW^qRa4rtM5%1Q6wyNMTd2A4qCg<>6ik&U7XcVkqe-txlv65C|hpSpa6WMwgo0o`>a{j0&O%|fZGWaY7i_X9Rd)CKADF0x_eSkhjTQ5VyEsM; zNm`?tG|4U`!B|kq(|bgw^t7N;R}d>oBOY4j_b2bz%Hc|%#m(WY|*tKeGRIHn@LQO+<|_!t}vrrS8aVy4icy z=%8FEm^{a1iGDMDl*RbLVd8;n8?l#(xbVg>vdgDr$~@{Uh|dvKC)37FUE1wF)tJtX z!9pF9Jw|j$2q_-=zWi8(EuWMIs^&qjBlkU2Rbmc|gDzkXWNLUgccXT_v7v9dRGsU( zEN&ECQb=P+WYy-`X6ZDnjVq2nE5Ljh&rz<+0*hxab7ax&fmd>8Xc4nw$USrIiOt5F z^%I-*GQH4W`k)E2l9Z@TE8UNX{qvH<3x0(Q&n=^nVIA315%6g4;I(a! zL)5EK+&%qAVq_nqM86!CHq2JX{X=Bhqc3dk9#yYAvwf~{7D|WDy!GF}8);hC$+hxb zwr z6*y%6!`sOt>ccUZ!*Ak#Izx?@C&ZdYfU{?+#m3v&@`;fg3v$g;>L!d%`(YIlXaJq&9Df)`RDn7%zj;9KJ`J$mmMw zq)uarykB?aJ0xV$3B|YJz1&#swX}0lMuFkn&@&cC(M5i+3=CT?@v4E%DF~*9I^be| z0nFOj2(IkWsd)wPBkh6OEH}D U@tKkY;HUwa7@`bn;ONKy0x+YZE&u=k literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_2.png b/assets/chats/voice_volume_2.png new file mode 100644 index 0000000000000000000000000000000000000000..701f614210707946f0b4cdfd2ab7dc904e873ba3 GIT binary patch literal 2177 zcmZvd2{crD9LHyd>`d8T*^L&AsnGB+mPZCzl5Az^c@ZL>r3TYT^OBt;sWc+A*h9}Y zCYhv>dP!u+KEqgNG?`(_yS+JQPUpS%JNN$o-{0r={oZr#`QLMHnwyKgw8Tyc5C|mg zfVOo9cH;M2Ob7%5Q>x=kfd(AoZf^ss=~tNtbb;Fu4?6&E{a?{&w7I!C27|G%u&}hW zw7k5$va+(ey2@lSXJ%%ADVbqAo4E`82ChB;70^d!1?6I z2mY6YRjTIz2XiIX-Q^ev3=tCECL$&wDJ3lf-M&LsPF~?BRW)@DEp3>-0Rm}eZh^A2 zu|qo^adCBXKX%;H%iG8I#L2)@zXgYcM#sd(pT{KOk}qdw=UmIbb^A^+q2yj^MdgEs zkDfF(HUHV(N$MiM=;`h2fA@Z9_~Qt5bZmTbYIl^u8^6wBr4ucZFW$v?w*^AOV1yC4hSZ2624GgH5nsz0GnH2r4uq9;!$5^C&qx52@N#{c4|TrNPU(!6dYRH6(*eCa?szIOtZ+-;s@w^DzeIxMvmmm8 zAl-?D9~-8)lT=9dX7Ipm6T4a-#?=j7T|p)*Bswpqyfk)RPAM0`>_aD2kg1Z*<1*@( z3|N+RK1k_Nt^x1QXE(^9ucs{{R(ChL=UyHn+_#yI42K%8hpF_%rD*-U}pMnhCb(Aouq;F~(l3GbJD<7v;2Tlo*wXLaSSd z7EdAm;yOjXL8z3{*&Iv==U4)7UkE27foB)O8DevW{O+P4-(MEEps=lR5vmf*NJVCN zdt~3aGUb<+!#o1`ut~!#*o#Ix;V8!!iC;>CcT@41z{fZ)@Q2A@M^de?L_o? z6)VFsI`Q>9PR)i0#lXMGX2;BfsY&fHW-wE>a-fG?^17KrNa3A&NaSrxuKcn){++Q+ zS?-2gIp-bR*#w_})0;)7geWa$klN*ij+xmH1WUnoMjq z%ddUx_mQruAaAXY8sn+5Esi>cZm6~qjX$KQ%VX<~MsmJe;=Q<9q35FRYvuRi-)J@j z*HQDBz1ttI4GK9EgdTT?qucNwNVWQ==6UK1>wQfz^qSK|O3fa>R7c!?1s&&s5*(H+=%a-Anc7v})8q{lbit@r~bfv6Z@$)pqjo?G! z25Z{e#e^aM9MtzsYOhU_R)L-;qu^JAf{9f}JjjZUZLi38-KV2|2w>dy|e3@$Rb4<=E)>-AF-1vlRpzMuWt(~ap|zkC-S z;Lxu$h(uqq##&>8{9ygHC(M-_ziK&|-fw+UF^H7uGljLeM*B}Zy2ITus9Iel8<6ox zJo}}Zm&Hyay%RRChhAigvkg@d2u4mr01Bp=>ld}64 z+6JI&pPA6~I~$Af&tFnQ791C$(-(ctC>Mp_>}{iLbVjKWc{MxEMRvRD>5MX6;T6Q# z&F<#rw-I|H5lwj9&yg6m&Wf+NOsCOcM2Gp=5at{bNwA*quAp{@Tf}5e2L7Z=_J)qI z-j~g0pDa{&&WgcafgQa&vmp;029%hDa(Hf@XXz^K#6n$z9`Y3TLECToezUYNzFRW^ ie@U1Ud`b8qj=DEasyxmu3l03GKn`{;wly|^DSrd?cE@l4 literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_3.png b/assets/chats/voice_volume_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2b57dc2c549a94c841fd6543cbce90ce0b5f473e GIT binary patch literal 2236 zcmZ{l3p7+~8^>oxxnGkeg`r5~dJa)CgUI!SLGG7|RC2$^m>D`1(vTWoWX2TYlO&vD zlE#UVX*7sF#gW^LaUT@TU^x4nS>LSIch2{$z1RDH{?G5f*V^mdYrolUr|o4V_ep|4 zAQ?voTO_c)`tueS0fE5u+Qef(1CB@9+kl=jRAvB8aC7mr1I+Dzs;Q}|>FMd&+1a_d zxrK#=#l=MqhqJV_w7k5`WHNy%o6QDBEEWsUf_CPw0wO?ga&i*D00t03Mt}jnz!5Nj z7PbOM00?~`B_sh2OusJy_I*&Og&5!nOaK;WLHj)*)c+%dq#!7q{y!f81f&oUM1-c$ z7dYQP@b6ClK3^QLL)i()(;gr&L}bTKQE^ErX&G5Ld4*kyyOoqx)nMue4r=Nd7@C?{ zoUnu=Z0sDITu!^XAw9g#c>DPJ`3HoY4ZRS4DKo)FAA-=feK`F6} z^sw@ARrS9c8k>G;eo1M2P3?R`>t?(k82tEYX!!S$(ea5%CTog4J;PaA`Lg%*cPAy0p6Gn*Ji~)j2P@|Z zI>=pf>!DAPmHx5A*)kfhMR^sWai{Wpi6heX;&T5@zTr_G>fjVDL z_k5`Fa(3;2Vw=+Hd=4v(yOTEdGb8*|C+AQFl$+P2OM9_!K>inb$oV(neJ`L9 zrWyEemA`RElQxTQi*#SjOu`XsaYWO(oJSv~`NJ%x(~weDk!Mx~kgMYDl=;FW`jm9#dwr6L`48D%s(#v?1?NB&SgQmtnDyg)?~g0V|;l&WzV2Yj4$TfEsL;jC(#;EaF-+bdaFx1 z1@z>23)R3eK#{5UueyA8R!6wa@m6MYVv1Zs!8W!&YJT#l0;+|CgVamD(qsH5@N>f< zeNt(rN~?y}%h-W->#9NLMZ(gL!^FfS7aR{wY@?*VR#9RT6R$uI!#POG->O{PhH`xt$ogtUWT`Q_qcG zT#A0qHM1nZA%DIva3yPQj~*I^YBo|3V^+<_C|T#!(cxdvJEoPo_Uu+&`RrxbX5X?& z2Z>djyiO$+K;$5L!z{|oA%~~BrIeF2NUo}thJkNiz zBy(hQxcuggDrNcglkaIq?E||XbjX)^DpWtfB>cd(VOKq%-ol?3Z@@*}56z8J%L&h+ zx&)x+FXyVfUuaH7sP{_`ZphKM!~*uh^NV|ul`UJkihqN9cWMWgGX`b7QL=Rkbx+r| z8YMF(Xyf&9zLd(k;N}=hzE`Yel)2}6R*g88<+l+mYoeCJZ}WFHTb(ykF1VokEM8-s zq3;w;E1mliC1C>2Uy93C;`z5xqEH#`63S~Aw$4RdXjn8x{Iyr&I|PgEjRU*0wSOc} zoH8zQ>^w+1id4JRN4QCUlNnitiov!9h)QK`?Lqim?>vlK_c`H%b(J#m0Yx0<_Fa1z zqUt_cjRVV_gL@c4V79^4a`((xMd=?3s90z$g4Pp5@8LRT6!>TKxvpSghheNo>34A} z?(nzvJVC>$2!S#UpKooEESbMf`IV*L-L8E*YLp&ww$Q(I?E07E8+* z&?jAPSkB$KT4~U}3r2wOeiPc;?QI3k#-zHY>b3JK$ kr3(g?|L>=DErJURUoMOP)x3fToNFLQyVJH$Z9+2t01gA}(f|Me literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_4.png b/assets/chats/voice_volume_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7eabb924a49296f4d3936f1df2ee68e4a8355e1e GIT binary patch literal 2292 zcmZvddpMK*AIEQ$)0|bJp2&2-8pRxPSV#;Z=XjDHg^CH{*{ds?0@9+J`_r9+Cmb0Ucw4{n8007b` z+oLYv`tF}wTm%4w+H0;DgN@K-7aL0e*R^vB)Q_DV+^j*9|GS!;oMbQpqxTCqWHPHS}^*pzn=Qnwu1P^ zO*ZP^ra<6ONp}QzRB4eej;?@^u*jy(qT-SeDQOv5Ie7)eEnAiU*rlqb4%OHLgX-V&QWw6wN;?&#|MI{0m9c!WeAoA^$l(kAJQDb^f&;n&jg z3U`gS3pMHp0HXe=qZV#a!?UN>ton{^cYNexZN15wRMAy-HT6>Zn7Z41`8n6Nucf%$ zOKB1b9$Bl1fRH;EZokF+%&{NdJ9{eE9v<>#l%BkI=@%)tJ!TB0h3d4DbaBHtTcqRF zTWpWm_fmn&M%qa*Ma)T@e=mL~vr6N9I@cuvS=IKmUDAst)7vWAqoezD+ogNwLdWsI zelhH}B$XzIGau?YRhlP561C1AN<5o$K^CYF?F&|!Kzz7fD_<8fvvsbuKEG^M@yIFR zu)A3D<}f;dFqBC%hCLg8`2;YbZ3;VqBm@y;kWgh)y=8~0<^Hk;4YYra-HT9ycp@~h zi8Mc??|P}aZmXGVddWnM{&qh94`Kxcs4m7Tmt>bbTTb{H$fN{5UHuV+xc;)&6M6Ht98J+JF**iW5K);+3o`iLt8TzINA9+?%l$tjPh2rltJGL9^ zzaK2%;V%%PdB*PA-}S`gSQaW zLy2Ns0OQ3LyBd zv8PA?FnZ|1my{wY55PP(*F`$!)-qbuE8MfCOZ!iMD(qf$7Cqr(po6g)>&=xYNMtrY z;dO8!Wv_f(ZE2?HYsq&o$A0pt>$U@>xe(*XJdN8(&6~*f@7<{rrvvBlF{W{ws5a<-uCXjG#yj|QR?p}t7BVrw zg~OXM+=`wh@Ws@Fe8UgdZ`&wsyJCZXAu>^O$?>Wlg!! zZ6rL~?4gO{${kNqvHeV&)u)Bs-FFNpG%~fY?IZRIq3$vV563x33^P;t@1r}RQz;pGtv516t+O96#1YqIK025 zLrY4?PComC#QuG?!iQ~UVF7hJt0p&FBs1Jl2IuLeQE!}W+kUm-461e);bNBJv^xD7 z`45;xr>431yjWcG%#g)^)S|d@Nn}tX`Tdjb_e&qE%h3`w393;MQI+HYoj%X5;>JU3 z)|btKjoen#rxk?lUo8^11etE(WYp*3b`0V5)Q`K5Q;+>D^mQK1F(FgP3PHkZ6Ep>F zc0Cr;&*PRU9Ab2GTmJ3{==Vnp&P`mfq)4YaYZN;KLM|o+A6Cvx9JYi_~j&V{^atr^tuDq*hQ2U4cpjR!8H2`aHx>jM-pU<~>=2VR! z+&90_V9$Bj&ttc)4~nC zIhF8O(#Y`1!H2lnn}6$RJnk@g)RGrGEYVoXak8sv#pS=rJ5NxBvx){>-;!v_(W_1O z+1lR}O<+*gJ+D50qVin3rPY!{i-Yf}zlam0=qdL-qYm{Y9(E5YEUAijQ5S;?0J*(Z3d`KqWMU3+S`OS6K!>Sr;f>O|9rW+4aotO^w;tD`$Vsos(M f|5qlSsLK_jMp_u$$4du*zd-6h?d`DGe+ literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_5.png b/assets/chats/voice_volume_5.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee78cf676360324dff148900ea0606bb8b1e68e GIT binary patch literal 2346 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 literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_6.png b/assets/chats/voice_volume_6.png new file mode 100644 index 0000000000000000000000000000000000000000..74a1cf6534efaf2e35e86e560ce4cc8a12e15a04 GIT binary patch literal 2403 zcmb7_cTiL58izxZ-c(o=2xUPoC`4QZsi8_RNEMXc6c7ZYNJ|J!+9D!-l@de&0V$Ct zQWA6p=>ic!iCIWO??_1uWY0A-jN{yY?l*Jhd*A1Me&0XeIdf7i%}w}uPV#_2AbwMr zku|V){`cWx1A$ojYwl_Q4NHi%i2yIS^!WrUp!ZUQF%h;9(7D!1PcCICBI*X3cDW77puQieG$Yd*~dV^9u)r zUxLiYA^g9BfK1%cNCR#zGt}DL2E@Y3#?Ensi-(twUqDbu_~^0YA}1ulQqr=&%gHO8 zQGr}g*V5L}g&G)}z%HAaTUc7#*xFsYZtvjeZQ;G5Pt+6oEKBLn2dV=jIpI z);G7lZSU?;>H7!AlkdL-fsS;V8tGq+_`Kr0?>cr#!o1Ad*x1N;Dot~vY^Y^2rH;!M zsTg3>gZyMZAyy#m!%-RNnP<0>BTHmN^vd7L-l^@C&sUq?ibnYa2M+6mQ(ab-P30?t z#1gHlpwCOXuc`LI^x!j!xRYJ(Je-m5&u!#WPM+!@Tf*f{;pF_R?^ZfqSL|?A;ScT9 zVqI|HreMVNog?WypvSo|K1bHP~H%S@mf~xglNP)qeFIAGp!*(;?k>Xd}NaElQnU8h5 zYCRYG5hY!;YE6OqCGNjAPEfhiAh4KbHPm?Rn)%gIg}#nsh#fC~EGUdE@+MBZEKxV} z8S!@AgdE>#?1qy{twfUh=(xn}fDWmU?fc|&SR{eSaL~BjSY&t%S+l^XdR;Jwwz=@T zZio;jR#K8Rj!Vsq1odXq13M-9I*GJ3UW%J=*W^%ze&ju)e`n9ngHHK_q4a`r%7vI* zN;P@m6Sfbc2lPuVEPu1!Xr{aT*)=$9A00Qg_8=xxA3LARVAsQ#v*1f)aooE{Xo9#` zQD-bCcztmfagLYZ3*lK^+BolE>nab3FmV{P_4V<@twg_vg~nSqH<3Aed`cA+Iz+-( zR%bHStwwzJ)g>d>>LpM6Rd@fh^+D~ko8Xq#W3Lt8ufi|Cfwx6V+@p1nS9zgZ2U{bg ztQUv_*E_lideTB%>>eC?<8$t5FQt~bw{S`_g`IkjkW@`}k;|@C6bSb-bSZxTn(JxC zsL8OE6+Kcj=Ia_YQJQu!4XTm^9h|X9n;ypOg?Q}c+td4XEu#g@zWl+#f}Wv=sLxT3Ir@(<$!_V6M+Lae=bN*pJ6;F-nbiyL z>8c!!UWD4*+%I33SD^dlq-a&15TX_J^`5kF9=P{L=*d;#%EFZ3b223%_@OMj{!CvN z#n42%F&k~n)$;2D&%X84+EvQb6eD(5lm?3(7&=vqFqXHR)>~B3YHwcqKPHrJAV*8L z!`hT|+eA~Y!HYIlREs6RKKa}I6N%Xhko(aiPJ)X9x!_iIP3pq-Q?#L?1Dz+JtDnc#5F-G3e12Tq};Hag1-~w6We%#}a4HKbM z)GLzzXRDc}NJb(o^1LZRRt0@ONe}VqIHHxW{B^u?XC3>t)go_w#GUw9(UNM=kR?|s zw>(bcXq*k29W2LI?s7!;eVnzFBRK~v_WZ#aj&>M_DJsbkbqcnbHno|ipCw4ISCGWK ztJBX59Nq|dMTrr=L47INDcHD@+`dqX%*og^RK%ialXv>DVgb~GksT}DzHsI1vGiNx zMCd(3R7fpHUrV;D!UlRe50dPFQk}6q$fB_E_D?OQt1mqraxD{1jXaAj$|U6lA|u>R z2Mww_9C&7}2orK=0g^w>6{Hi;NY~F=@h6DP0i=0GEr?&u;XrgSKHYukKNV4=7?`|?eTuV8S zICeuXjmr~L2=fPk0 zM&fAIw(5`_HDOQpo%*xip=I0=Rv1Dt4KbG3=Spkp_|R^CA!zjF3L73Nq2A^DxBXT? z9ed^-+N=Ws9n zy5Akafrv=(C-c9BM=h%p^zD6oq#y;o)gjC3g^t4=NNfmNY_UFHxr^B!`DBFh$SZ^+ZupJA6WJ?+MaaV{1)`vCa2ut eTPVZFU{m@#FWXjmQT`E literal 0 HcmV?d00001 diff --git a/assets/chats/voice_volume_7.png b/assets/chats/voice_volume_7.png new file mode 100644 index 0000000000000000000000000000000000000000..e33ebbba23f24ef4db1e6fca29c3ae67f72f94d3 GIT binary patch literal 2442 zcmZvddoE{yrBDW~FR17O2rAUfgDw?8M zgtB5$t|84B!QnZ|6A9@B4k9v-5er9?!??^Ur%b%Y-`H2nk3FfIuK2J6lT_ z@WlQ7;pYK?z=Y~317HB7U^eEUn(jk0KyHRQBCG(&`L{DQHASINW@l%qROj+Ue~_k4v9cJbPYQ`?|j24Yu)Za|^z;y`%HWu-m5%U z(iLvg4xtLGUFxo1R7+PCbp*FxapTeM@U^wb&ur2d(3xST#i`kOD75H3m#@rsJub_u za6B|Qk+11{>wM*D^~~tNlqHandhW3|XKsHG!_S#z`F$uNOSjQ=Q`P)*QbYRtvY-!LDEp zUct*A5TmbN86|nU9~ODZJ!>Sxyu?~w_794kO|ZOdo7_M;e+nK}6&>A|Tf0GyRd)(% zlM%L2tVGg6g;7&6;VG*Fe;xYOFAi;k_lisS^z2-v3D{cRU%Yf6)K6?uyDN3WQ*@{8Cs*cB{Jf#ml_PBo)kqN788$dtWWhh@oKqLZ0UD5 zXwPFat+#txT|$#g>oh*|wQ|I}1NZaq-gWJa2Kdv4afpxbb(4#7Zsnd z7xZ733})Q|yT~8x$0~MnN_@8-5#*Wo^jbo!h^wa~S^e|(JcA&(#U{cU?^0+unz?_W zo2Do;LBg(g^L^o1;8{rBCe}E(-u{AMm)z`_t2*AOmIVim+_A{+D1jSe!H%)ymYPu6 zi$Sb|nRAD|8C|u_zte?^WSNfD^`i#A5G8+K%*99H@20tTMQ*Ng2uWeRDeL6tge_;ZeGY*z0Z<#TR*1;#*QeTp!i6$g|n|)V`wJ9|8`OFcQ_+kw2q`bR3F34s~ENVquL{qy0UK(`b1Jgznz- zj;fD%*LgQ>5K+x`X)n(3kB@bj$tz@w9o^3;vyylL*>H<>SfFhD%0IIS-bnHCx7t!( zOj^`#p$cC~R1IQ_0avNOz0toPM{>VhK&ADXKhGfq@qnlA)?{i4XT?6Hw!q~Sup060c9RMJPXHX-?3$y&%&jz5AGsHkB@4Ab_e2nS((JBgdR|p^q+gR?cp~Dpgeo96p;%I(Ok{>TZZ19C zB6L%<_T4dgav96ED<&IqAe1RtdOS&S*tE-r`H)vIhf}b|5c!rfUL1doK00Y+xurNv zC)*OV+F4!5x&&XpT+jDQ0g1(ISLxgW@bbt(-Y{lI#vVOPRiQN@DTt|Uo$rZT@=i~g zob@XsGjcD4&z`dbltA^cyegbEVf=}Eolc1C6e663{$*X=A988^*#w^*Bl{&DISE6a z%4g7W2r^mnD=)TeVWt=B6=H=~W6RnNtu!GuQy!(VVx=4-r!GxW+;#Uva*9DyJ=G$i z&CQJ3HGS%hNk`PVLc0Xu7akdZDg#wqwiv#92#q_62-U*{LLtz;E8no0#{^&RNgd+s zb;2)K&PN;2oO)b2z2U2lrCe z`ca){Sal&od*8ok60!T*kuLe}j%dHgJuI4{;}gQ)X8eA+VM$=^m*D`O$|t!(tTk$T zMI;(}=wR*zQo{9X^_O3Xh1Kgisvqs$!Yac{n&W({+hgXhRbiAl*iDmKoFi|3%BV}h zyK0ptwuYQHKV9zQT9&?3vxLoBgyZrqWMTOa^4Lh9?sMnyh50*2(yx{_BX1sqnsy;K z=oogilp?(|guQ_|oF`&>c5kfhfQ`o%Qb.empty(growable: true).obs; + final List _topList = [ + ContactInfoModel( + name: '新的朋友', + userID: '', + tagIndex: '@', + icon: Icons.person_add_alt, + color: Colors.amber, + ), + ContactInfoModel( + name: '群聊', + userID: '', + tagIndex: '@', + icon: Icons.group, + color: Colors.green, + ), + ContactInfoModel( + name: '订阅消息', + userID: '', + tagIndex: '@', + icon: Icons.mark_email_read, + color: Colors.blue, + ), + ]; + Future fetchList() async { var result = await friendshipManager.getFriendList(); if (result.code == 0) { @@ -52,6 +77,7 @@ class TimFriendService extends GetxService { SuspensionUtil.sortListBySuspensionTag(contacts); SuspensionUtil.setShowSuspensionStatus(contacts); + contacts.insertAll(0, _topList); } } diff --git a/lib/utils/im_tools.dart b/lib/utils/im_tools.dart index 13e6754..d04923b 100644 --- a/lib/utils/im_tools.dart +++ b/lib/utils/im_tools.dart @@ -189,7 +189,7 @@ class ImTools { static Widget susItem( BuildContext context, String tag, { - double susHeight = 40, + double susHeight = 32, }) { return Container( height: susHeight, @@ -201,6 +201,10 @@ class ImTools { alignment: Alignment.centerLeft, child: Text( tag, + style: const TextStyle( + fontSize: 12, + color: AppColors.unactive, + ), ), ); } diff --git a/lib/views/contact/index/index_page.dart b/lib/views/contact/index/index_page.dart index 84fef73..5abdd4a 100644 --- a/lib/views/contact/index/index_page.dart +++ b/lib/views/contact/index/index_page.dart @@ -25,26 +25,53 @@ class _ContactPageState extends State { @override Widget build(BuildContext context) { - return GetX( - builder: (_) { - return Scaffold( - appBar: AppBar( - title: Text('我的好友(${_.friends.length})'), - actions: [ - IconButton( - onPressed: () { - // Get.toNamed(ImRoutes.friendSearch); - }, - icon: const Icon(Icons.search_outlined), - ), - ], + return Scaffold( + appBar: AppBar( + title: const Text('通讯录'), + actions: [ + IconButton( + onPressed: () { + // Get.toNamed(ImRoutes.friendSearch); + }, + icon: const Icon(Icons.search_outlined), ), - body: AzListView( - physics: const ClampingScrollPhysics(), - data: _.contacts, - itemCount: _.contacts.length, - itemBuilder: (__, index) { - ContactInfoModel info = _.contacts[index]; + ], + ), + body: GetX(builder: (_) { + return AzListView( + physics: const BouncingScrollPhysics(), + data: _.contacts, + itemCount: _.contacts.length, + itemBuilder: (__, index) { + ContactInfoModel info = _.contacts[index]; + if (info.tagIndex == '@') { + return Column( + children: [ + ListTile( + onTap: () async {}, + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: info.color!, + borderRadius: BorderRadius.circular(4), + ), + child: Icon( + info.icon, + size: 26, + color: AppColors.white, + ), + ), + tileColor: AppColors.white, + title: Text(info.name), + ), + const Divider( + height: 0, + indent: 72, + ), + ], + ); + } else { return Column( children: [ ListTile( @@ -69,19 +96,22 @@ class _ContactPageState extends State { ), ], ); - }, - susItemBuilder: (__, index) { - ContactInfoModel model = _.contacts[index]; - if ('↑' == model.getSuspensionTag()) { - return Container(); - } - return ImTools.susItem(context, model.getSuspensionTag()); - }, - indexBarData: SuspensionUtil.getTagIndexList(_.contacts).toList(), - indexBarOptions: ImTools.indexBarOptions, - ), + } + }, + susItemBuilder: (__, index) { + ContactInfoModel model = _.contacts[index]; + if ('@' == model.getSuspensionTag()) { + return Container(); + } + return ImTools.susItem( + context, + model.getSuspensionTag(), + ); + }, + indexBarData: SuspensionUtil.getTagIndexList(_.contacts).toList(), + indexBarOptions: ImTools.indexBarOptions, ); - }, + }), ); } } diff --git a/pubspec.yaml b/pubspec.yaml index 1c1bc79..afc5b09 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,6 +57,7 @@ dev_dependencies: flutter: uses-material-design: true assets: + - assets/chats/ - assets/icons/ - assets/images/ - assets/images/empty/