From d9f1781277a21d6ec705ff47f046848e8d762c1f Mon Sep 17 00:00:00 2001 From: Cxx0822 <1556464090@qq.com> Date: Wed, 23 Jul 2025 20:03:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E6=9C=8B=E5=8F=8B?= =?UTF-8?q?=E5=9C=88=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 4101 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4101 bytes .../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 0 -> 1323 bytes .../res/mipmap-ldpi/ic_launcher_round.png | Bin 0 -> 1329 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 2171 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2171 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 6366 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6364 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 13120 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 13118 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 19869 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 19877 bytes lib/api/moment.dart | 34 +++ lib/models/moment.dart | 53 +++++ lib/models/moment.g.dart | 54 +++++ lib/views/moment.dart | 34 ++- lib/views/record.dart | 6 +- lib/widgets/moment/card.dart | 216 ++++++++++++++++++ .../{recipe_calendar.dart => calendar.dart} | 0 .../recipe/{recipe_card.dart => card.dart} | 0 .../recipe/{recipe_list.dart => list.dart} | 2 +- .../{recipe_timeline.dart => timeline.dart} | 0 22 files changed, 393 insertions(+), 6 deletions(-) create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 lib/api/moment.dart create mode 100644 lib/models/moment.dart create mode 100644 lib/models/moment.g.dart create mode 100644 lib/widgets/moment/card.dart rename lib/widgets/recipe/{recipe_calendar.dart => calendar.dart} (100%) rename lib/widgets/recipe/{recipe_card.dart => card.dart} (100%) rename lib/widgets/recipe/{recipe_list.dart => list.dart} (94%) rename lib/widgets/recipe/{recipe_timeline.dart => timeline.dart} (100%) diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..f3307eb30f68d4d3bee5be2872ce137d81100d67 100644 GIT binary patch literal 4101 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 AQ2+n{ diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..bf31e45ddf3dcf18b44f77529f12f4d01c86a82e GIT binary patch literal 4101 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 DgtWh% literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-ldpi/ic_launcher.png b/android/app/src/main/res/mipmap-ldpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f161b7c2ba587ba1a6b6adb290859d0f9c3fe0 GIT binary patch literal 1323 zcmV+`1=RY9P)Px(nSg5{ zl+f|W5*`jZh66GN2n%h4+d#uerY4vP6Lfz#2ZWF@70HZ)h^gUGI@e-Hx3u>jbMB>u z7Pj7wEg{C!CT(+mkI()7e&_TY1RHFi4aNiiH6RL${Jg=SUwCQ{w$4Bl2EcIe;DMUn z-rlmOQT}xT(HMXQ00f?%n;4VHai00WDrv$MU7gFW{xh=EteW^J)(+8r~Dd08Cm z37r=&dy6*%*O&D3SrC=C(^JCAVk@f>2};Uy~jhN$jnmk(wJt= zSjoxBnX$3k4>UG5r7jiG4rb{AZKP`k@%Hw?M&o@uRsH=pTXed4cUPJ;EG+Dogebimr5l)p`ihV3PsKD&U_r({jv65UY>Yy(IlvBMMXtz z4Gj&_ii(rRtEwu`Bqb$9gan85UH;Oyn%!-n}We`}@Ctxwf`8 zwxp!wXRCd9_>1FHQZigLp&Ye7n-GCDUmmo($bK~{+1Jc10}-Q6u_vza?uh{fB!otU_@PaGMs zf8w`^K5OQ)XU|j>7ay-6zdtyVq3OKz`4+XhW2;1RWFj~?1kcP&3(6(PsHUdo)zZ?^ zn`@OrE|<4myY?L{8qJWEl?4@wa;cDBd6bPHAmSXhC0widYbwyyWd8n}u}*haa2~;i zo}OO#%{^}vUhTWuBovCKY0NN;;2eTi88HkB48(I@em#G5 z^ru*%@GfnP3WdT;tx`?R%+A_MCXq<$FPy(nymbBmi~;=oM6i4JThUjpe6?yN3I!7+ zr&_62l%FV*>2!Bp?jfNdE-54yi+v|2|1@B1UiAQ^gi`5IP^sE%a|j_E7x&u5;o*@F zp9v5j6p=gFT8d)s0EZaDi&pCW-8j-+bj7w>!pC7=g;HL_av8roIT-s h=l=(Crr?HC=wC=Dz%=^~B?JHf002ovPDHLkV1i>wentQQ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..97128734954df1c7c323134293cbf1a28ba7055c GIT binary patch literal 1329 zcmV-11Px(>q$gGR9HvtmwQZGRUF5E=N2*`KpV$HU?hm0LxGV^g^b5EhBdXC=7t%(4m7h zy}i9cfnaJ52mLJzvP;wL*d2P0hen~9q2Q%) z&APsllan)JVs;*EY-~zhPNE&m@&w6$0|1b;t`l!>A8a(vS8TX1)!NJB$I ze@RZ+`%TBCPTL+;S9ihZ{CUNqMx(J-8LND7P%zBQ&XCgNnoK5Bv?`UAww1ybCP@!b z2s=%!BWOy>{(|i6W1ps`rWz3fj4{8*)T(l`24{uCD%aJ;l^&b+pA|`6Dkc&ln#cuNfK|3gxRT8!S3H8jp|v%7Gw&!|xtG(%s$N zwc1H~dfE?0{o+So_w@Ye%y~veT4YB@*Mw9m=?Mw(FH|UMes?y;vD_bP@8#u*mzGSt z(pFSd)Yj0@Ag!o4b)u@O@@!&aVt8;+aNm_Lu59N6#Vg3^Q)dh(E6aq=9PZnfa=X9( z`1@2yWp9%aQP^=;c62WE6)}cIJt@RB%@u`tDMTXp z_z0IGBBEX&9UYu-j7U*#m|-kPsZ>Vg=H`-OT;0eD;T?yUp}V`g#cVdSM+>od$G4M{ zclL`T!VgUTHrZ#5eD2)Ys^a1k73B8^M>8~?mp|X8R(EWdNRCbh1qI{T*%@B3cp25y z)Vx|+T6%N6bjaoMw(HlwgC(OGva+(ELQyW|Q!9_M;RQqnhi(hgYW|uIa5b2p-&U;C z-Q^vJx1pz}7k+c^8->^Ut~K$65(osCrfJ?Wc&{>I7#I+M=e1fS5Kx$=?ax7ufbs&l zWZ=e){IRj0V)(+lv@t3a3NN)vH9b2wXG@txBB{T4;bQUf`2#Qp5Q&74l=N2A)vI5v zS&4kXc*&_&sukrY%Vav;U6*T!FNjMDiN#{ysi{8=7@OBjfTU0=Jq9XOo2?Hagkxi0 zyEHN~`r$JH;+!IK2U|~3%pTwn%^eZ|z~BG*dkYJ5&$$ZYQc)A2z`#J5pIC@ z?YcR3>(=gNX!fH~+4@3ZZtnCm1!`{Y-6EI2^MKqa5)$I;)6(AS(rWKTs#L9?X|;c^ z#72z0kmOQ8UI?*QCTEaN4ICX%lmIgfcU$F}^-;y3%*;$hdwY8&*Jr&HaQ)nQ-1(m5 nGLW+wZnXb@AZH40I)(lPsi literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..f6d0690db9c6bd798ab017cc80c1449b243dc4fa 100644 GIT binary patch delta 2169 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 literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b9477d980e396817d7e8fdfcb4fa9d860798db12 GIT binary patch literal 6364 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 e#t4jY^ZyGW35e+2NCm$D0000 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..bfe7705afcd1acc2461736032b8a19f9da9935e0 100644 GIT binary patch literal 13120 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 He&GKAdH>`m literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c2df9458e287f1b8d7abcc606bf8a89e7c4b3875 GIT binary patch literal 13118 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 fMO=Y*6o96Y&jUSm=^i5s1 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 COV%F% literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..f6ead7e8f531a9f7a9d11ccda47b4abdc381cf73 100644 GIT binary patch literal 19869 zcmb?j<9B4u*X?-Xi6_p)wrzW2+qUgwf{AT&VkZ;Zn%JJ$eDCw&_aD4>t?vHNYxS*L zb?VeUd+*bcit-YOa5!)v5C~C9QdAlE?EUZc1sZr)Uble(KERxnC4@mWQ+OvJ5D`d9 zR7k}`@1HKL&V=@>znT4NqkSSNoyv&n!wCJWnp3UJPP<9vdR5z@S3{?yP6&Oy?yu_e zwaSRb3Jalfl^;^$jU1D#x1YINtg>v2DrjR9N9}WOQ_tDASx4Se&N&z`b8$)F0*p`& z0$1zBKT?%JMWA@*Kge=mR3N|OgH(AvI1m-`+YEX<_;$FS-^qS4DE_AR|M6?stKJ+w zZ`!{8KC_aNVlV;)NIpLNZ@eC&3n_HC_A+_imRR_bz+hIT)~g9JgXFWgnd<6;#Ecgg zKv!3S#At#k)Y>MNme=PG|6W;EpW!TTk%|J)LAIn9r;E)=Pb>BB490ue<1}MnAmo5b zsBKv80f0%xWoMc zLZqmFy!MZA|HKhW59YJabrfbufz3dVK|?|+>gwuJJ3BcAhI3|x+dihf#W{9fO}iE( zMAgH|W^h}U{tmoW-)w2~h5g-S zd+zV~ybFU~6d_#^HhFCsYbzfg-a^FMWcCvfoFs6^f*ejq;lT}GUqhw_NsGr%;#YY6 zkWeua-dGSh`B3@j=%~1@M|GnVjG`c106Xg9z(CsLg)ZEchefo6iA^39>gxORV-N!f zo5M?%I#L+h?eStm!Pcj%F+GHm2ucta*3#ad(DUCa8x0c7=v&{Zf>5|{!B=u}Uz7w& z6S!}g-$E&=s8++n!lZ>}hS=goS%CGF6oY|*Ig1#%Dm}3zJhcw2OAHvt`Z=@2aAOW) zPKTtXrY_fRvHNg77-Pd)<3zA*a8m{b=l0cMhDhe+EM&k|HCffQi?tfcs)(urA}XW8 zYB2=XnD^&TIp1R!?gsq+1a?~ps3MRB#H?bXTqb+@@ZcacBux0Kin{tjxfdjRz>pSE zceCW(rK(Ch*iUiz3}(}@*o_W%i6%$MIWyb5|DuQp$7*+fKgsD?I>69V(=>atr~5j3 zi;f#51kofYb@7uA$su5PPe@LV#eFQv(Jzr)?!K|51q+YH7B9asofB9!K|E?$zP*3{ zs*~csdf%*beg3s!$Ms07ic{e&XcUyg9tjb;77Gpu5X@IJm@68EU0h6d9*)J&{C9Do z=ib@qls7j#SO5&gC?WE5=6Y{fs>Ob59ToM)#M#mk8}_w0APCVnFoPxD*N-AU0U9=Z z4`OU)Ca=JL%P&<<_N8j8$vRc#$3m2=)np+M-$7b3sr1>t&o{}5rl!TxIs|if3z2+% z-GY5udEEMW(}E~B=+&k8s5=rN{X0TxYS3N}=jrVZ`Fpu%%b(vD(VL8_2YglFKulCk zcG=?-GO0B>=8WHbGBFWx4l3374u z_KL;lVOH`I`06}6;2{hAOoWLsOCR}xu9~2{T?+Ts&DzYP{>lv5ab13#;>KlYbsr*v z$vvV~5dSmc7f9l}Gjp(t3hK|h3tOL^tDXMuMhLnulJNiS4JdHAT>e=`Ha3#;e`_kP z^uN5~sec&kTS@nmF#55f28M{1l*E|Q-BF1Y2SnA6m5wIb-YR5qTGAg}JtzTjWp->1 zTu;}=cG4EdEZc@PQ^W(`WEcNFsr2rA8Ce}yQdXm+r>R!1si+|?u!itY#rn<+TPd4) zoLH-N(4k#ufXi~rZ(wD0C{jH3B%97mCP$6aM1Y_SVijsgXDMAZF=Gbb-9=q^7Ge;# z$_b0L%e{nrn~Im$S5<|L`T2^kQD-1OGn#l*#hG==SF1;6Fy-vS2f7aKh8yZerxe-D4_R8MB?5s!Z?kZy- zh2KNz{Hz+HlSqe+R_4^%7!9g~^5pV7Ualn!Rvp(`Z&BE~%NGeZlT?73wEz}4mfp{A zQ<}p*tUV+IvX+jTS{3zQ3yD@@aE!VKFY-%T8uO4sR_olFx4xot=JeqtZpnI^^Jm=S z! zw3<#gfO)N)Her^!Pye02+1*VJ)5h@i3uIkgT||9zv)jYNLoDXrz8G`7VECReB z8(Z5&jE>Q8-7cq%y5{EQ4|!Tfc{ald;f|`97zB;G29G+2&AvgJb+tzBCHL_Zy2hCq zb3e!5*CgXK(o{M{*0v_-*1H8dmjtsxX5}>s*w~uic%LW~RaM;;RgyfpT#m~KwRm6h z!59sCLH8LMrvZ&TWn7Hudt-?sp{J!V@mb-czDzg-kzU|LrsK8AYd9u zlqk_($HCM;Kc1)*Lc_V5*jUZjW_nq#p7Z0&4Gd>L#YIIu!pYjT8ZDHB4Gi+cRWW3` zO2WvPm*bBq8^{rC?{ye6Vs%7ticm*vtCWT|2JRi zBj}DU)Xen}NfPFEd^@{v_4jb?mn7-TW%+PPJXOoV0mh!Kt*vp3?b=e6n+$5{_VUGE zI9P8wi@8O3?3?fD##$2WfvIYMrhDjM7-m7sOlYbgX@Di+e4gj+Vf9MAX|%?u9ZQQ{ zW5M>7ya%->X`FPVkt5Yvdq*2aWXH_w<7Me)t7CsvMa38i6O*I3XWMp7kPdMO;=-h8 z?&3Uc6TK5+D1~ArD4?U`EW~`ePeDvnbk?I6 ziU2E;Q@C6f$I?4w9{1+m{|XX3Ei;{ro4Y3Mcqyhiyu}8aijG1zx2V#Kg5o^%dwvWQ zx*f(=BvLp;a~AW+H(VwYHr6bwQ7eU?NcgC)A9eOyInN)d;LTkMag#mO785$}^ezTfL{Z1!utg=LrnaHvidoFxFq2bK@FSwVp>*`JQ;Jk)wK<7UVGT^#LUy(py$@EK>?WhYA{)pFdJh;e zcckHyB9d^nm&U+S_;KPOc)k4TK+)Rpc~wZfVq%2t)k@%emqt*3fz|j=|?}{HW3G z5YFV8)1S;i74=Bv&5jWXWqzuew^$ZMauDTR72^7a*$PSgwH30=bXo9ctRAIpd%q7G z$F)$vP@Vs$Uvga?BMWBq!TsB_b7cXs**l(SLA`2=)5TjWOg^4O?(2ZB+gQKh^p&7^ z7&shU6drYQnyn#IU7yp8f`a$M@lK0D;JkbGLBTlKcAUURJdo1^Ybq+vGqD(m8T}4; za+>(P;M-VnadDZCCbQ34eTQSo-TgMN_lg>i;vUt8MXQT{Rph4xL*S*ti}J!+IpS?^ zUj@_-g5~tOyKnDU00YrK3+tV{!m zYwh}IgVEM_SiI)?Jt6)n0+Jlh!m2zdy&UQr&V!GZn%ZegkK3|_$?vxZ}%f&@DP%AfvIc`CVg9qLn+ZnP* z7*fXZ+1YCzS&6J`M&{(tn4)V3wg8D71krst(S7~qKzI*4th#ZII7r@Y5VxiSC(=~_ zcz`)XY$%M|w4Yds`$c*4T}?{2M0(}rW|wuZnYuSAMNeiz#;>8CfI7ZGQ&`;VuzdJWoW-+7rf|YYufFbB9L2Wf-mC^K+G!Bj8%`IZwApP}$D>aMTBLu;w_X#^320R`# zNV@B(FHGgB)3~+_9y<(%$DKVRA0vUdA{e5D0J^!&Qak;3^@|e(>FnsJSu$yWu3*9( z-6brNTcM)9Y(znhI?qq|MGhNsO>nvdF7(T?beX12-p<$5=-bs{cj{A#nQb>;Fhu^x|L8&;?HdIU6}wN0Gf(tOc6 z>|D3CSGQus`^n!sXuOQhiq0DeQH6s_$)MG&>@0GNb+Hsv-Dd87ad+qO_B7k~^u&>2 zYDyMGiz$6exgr^InjMLaxUA#bSmK)kNn+#qbKr3qTv6p5dcH(XhLM9Kv&nM4Wa035 zh6)tm@)AcVpqZJJWRRMiTt0nRccz?36lQ-~R-NfaLP&V``f}g7u*ha`tT^7)VD|T) zi<6U8@}BxqdSPP$$!opo7|ri-{2U2Lday{2W5{izQ^BIU0q4<`sW>++`dEA9UiyCC z#>_=wHZg2gKW%yy7v zeH$NaR<^mMs3_!e^^@ON%qETx*E@T>L7Y6F7jJhbx2}ZzK8%zM47KyN(W$O&dZ)rD zILN#NFgT|fjBe{1ao8+o=l0fG2?OPO9<6uFf}$COc(_-ROA-}|0~_mFv^uD9{Sa=K z2PpBL2p*h8#QWfJy%4;(Fz0?Ey>~|29Gb{3?S}`Z$JCT%45Jfo+t>S}Kc1eh3l(?u z1Gf?)I>k|AbP`=yv#P3SOIylk4^w9yy?K%`zofrjuD2Beh|Kd~w$R`^K- zj$Ksjdjd>&EtIV-{t{5Bb&)IB>2u#CxlS$rMZTOMHLU1{>vc?6#QJwd=}&LuPG9mm zeCwe&egGaDv5?;sAb}+Yj%DRYN`#EFGjsdYlS)dq+gL&f34(xth!QNk`TX6l1{+!1 z6+{@GhJk@qu98$ZfT`14uqX<3*;2r-70s0Z>8FW$>bz2y&**XW)!E+uQdEicnVd)7 zIeKq@zbGd+w}*o1x>{GwEklQ{o_6t-Ro6TEQ)667$%2EOgCjWC52y9!?qvR7x69C9 zxndN7gH2*AbM5VGQI}dM0wU}l%&QUZDEVNmI}X%v#Z4l-=GQ_Q5ICHI5{c-ay4Wtd;D{u0c7t= z0pV3)7$qq*{!p9XfJ5$AYkPtQV`WugU@x#WI(!r_NwVh-70_g@4x`)cv(Z>oG*VYz z-!9Mcz0bZBV^-UzCzoMXPZCC;w?M#nB>qpduaA!wt5ak{;?1#(kCo})o15X5N2(N^sueHVDv$tKv0hS>*hl(7GG2;PK_q7#d(NVjVci!6G<&+upHRlVnj&vluem`BTq_R&$dkF7} zaH6j*+g>C6Ak1=kd5{6pv+dFrA=fU`x4(LyuUjOQ$b|Kce{Eu=P05^|#aHP9(@3il ztoi$5Yj-Rwe#yTsWd{uRhasLtxm~Q%%#D3a%7eJGYtXSCos@)x@{OIGqQo2>g|cI) zcE4dP*Ud@p^<#x!d4N+==9wtH2b)c1w9Qo~=cHB}w%$$BV`9|m*OI9ut?i_>Iklcj zcdtN*$|6R+`AJqt+r+kS+G2~HGL!U->+7Bi-8$+Vw?6L_!ti|KYD=TXj0}}@t~Va` zSNOaRuS{%p{y3}cDG3P+(=s(HIV-C;eS3J&MP-am_gQv64-s7EU?RTc@2PW5u%5IE z2f?Ud!_j{FhQ>V#*(XH8cf*1{UbpabhGVlE8K|je7-(oHuB%&xOP<|C8QIpQ6sHJ0 zJ;myNV;{~plrE+~z;Jh?8gFiPIVF!?x2qD)vzd5fdoLy>YhPPggCz3BlY3;eOY| zboNN9Kh#14D`EEy=S4VklKwU-($iK|NolB5_eaY|2{S2tj{Wx_*nj+#dx5{|g_8>l z=RbU3A3P&EDqRnbva)q)YxH|OXgD585XU8l`-KVq_Jf^$jAX!lfBpkf7>J{WnO;r^nW;B#e66H6` ziFhHjHOMpiCDe*G@c}f0fiGvRCoCljwx_gPuz0YISIaN?Qdf@bDf1h2d4 z$5R=2<{4ihQaH-n$+vx9U~tvsxD-uI{%rci&Y#R5t?oDbZug>8o}b@QB_t#$YH8(* z5bx1`@hHF`p@4yd=LfsleMfDgn8*MRrpPe#B{6&FTAubTs;(YwY$iBB|N8ao3c4*f z0!Si`pqS79<6OmHn+*aK^j+9Du^`r==vUpe6fQ{`z$SA}ypple@tJB^SR8XC{MI%a zvcG4Fv^7{pBk_gfsfSOkj%=Z<5f_1;6ZwaGS+c)|f$*rjV)p z$iJABYjY!6<3SP>6T>D~$l){}h*09lltG|n0udQYySg@Agu-L(+t^Z&Lqh6+ktg~q z-|!)2QZmkt)P?%Zz8uq?XGjeMhlLGMlnzD{Twbj&nlfWGrv6n_x(r$VZP;?j%et?v z4QpUzG?B&Uy_AB_PQLA*UN{N;=cA1WD%hg9B61BG0}#O`~K9(D>?i3YuXycJ{Gs zcH6OvYV8xbi?^Uh8Awo0P7VuDgED0af;!wUH%|eHVd*54OqD_=O{d^x00?Yi1Oir4 zc}>l~i(6azS^|}^CNAyK$~HC?TYJObSt=`5R!rUF7m0>Kq!QJ=JZx-=;M^P?mBuC} zuHcdUc+sAruB&?>Z5|2PtW37^go3k=@9dpDC4O*w-BIo`bUZzIv>hK?j7(1lcKgD_ z2xoM^y}gwMLiiiS;&I(g)tl1n4S;EOfa)ygF+YKDOvge;pQ)&*OkQDQ)1Nrdr&|3Y zW{-`N7EqBf7b6ypIasAJ`vTdt`?aEhfA750>h*6!DTkVx$}dS1)VqIc92OUMZQAS~ zZAwMfy%}s%m-5*!>OBSEi$aH`aryBk+o`$!QU~DfXpE&`W@hs8HT{Vc(|Mhp=sb8RFRhe|;gZXmjtJP*aqPm-lAc^* z$JTZPT@DF_M>hw*IBc3kJ(RX`c|DcE!YkuP$7v*rf3ZeIN1qXh1fH72CniGR#rBO( zPt*TOO%2!U@>-2wt6tm$`Gx-ZCDkTt&Bj=0b#}hws1L^6QL?nFuuXn}X zZ=6c}l#~+WcF#m3_Le~`#EGNav}$Y?)+ehfsw7+3jj%+^7F7-eH(#nprlz6_6eVZ6 zydR}mSQ@%sAO0nlt(X}b^WC}%2N5=;m4`HP0LeBwgK6Gv2@ZuTB3_A^iD~wAv&*|D zDLFMEzB4Xpg$@SkWkF8r&&N`=HY&chM74zWi!CZ>YHBJB78dq9kabq^kZ|J`%vO$Y z#h|b0q9F5>sTj>B%2cqi|Bj-O%RZg9{Yxk%O&q<8ii=b7yd{^bDI?O4l}u4GS5+5c ztHe3r0@KtKQ&fzHsKA37F`;%jTS8n=VH4C7LV9g0DY>z9b(ISW3xkdy-KTbSy}zxg zsWBR@+NEW#a7;-~MtfiqP{0@Sxo5e=Vl`h?X_0gB$|!pP_{y%+OG3u#f`T9w?QsY( zF{m_V)A}A@d#M2k(hNd+0DJoJO*Rpf#$|nYmdO!3(bhC#{CldWFsECuUWwO-m~Er9 z3NLw0M1jNoeC4_liI9JN_g{CHs01-&;^BC7_fft0wP7r;C}T6V?Yzngs*(y&AfRh)A*!al&O;Ma9wa87||(g37Lr zPPZPZ`VWN28)C6;5682=(O9g+36Rjxd_hZ9j+#``OaW;E-@kA2FkTHY3{DuKj$N?> z#5W@ov;Ont;6q1*JLXITWG?{M3Xlk|fA4!gM6Ray$eYCHCx9W~Gt)`}RH*ZG4xiED zrWMT&prmkLAB>N<*6IyrmYSPTs;aC0_-li7H**GCVn#0Ma;>hU1UoT3t-#2{RL;!C zHfd`Osi{4@qQhh2(doH&c)uM_0l|fb=@$^Hx{&s}5YO#$lTP{k`T5Ax?fZ9ykI88U zqWsnn!{Bg6Xk`3O4*-p#I-*=gaJh-*5`)#5j246dDJ9J};TbQ9xAA{ofWb#)ek6P=)xzT94&#Hd5@KyglQekkOR8Cb|d!V|E>9@5%1q z!++KcA7nL)yg9ODih^O{ha(ye3ZaDgQX~u&&DaOuHN{LF|E`}7Mx&-MVQN2 zRZ)N1(sH>e?5c{GcE=>XE0lV3!M@2`S67!9!QWp* zV?#eLZb?XtTgb@Ck5iHue>;r(y(?K175mG{{VYvLKuPT1*`GVP3v*2S<>4EC$7DN% zeiVVF^a>9LPYD3pzA`0tv`kcEwOTzsfDSmLxV^baQv6lUv?u)3A(t%svjHjH z0LFc_2-D&@%9ILVlG#KLooRoc9aUM&nSR5JQE{o@^D`px)05=V6hrq(;PF|BAU;bF zd0(#GI{vG4D@vtmL`*y(JvOeuhv+L@Syd*i_Yg0DV1%de~6us=-xjJ(U{?=CEZ zUdWb$w5-rUj7D?w{00)?119!fr{8;fI#?>b{`A4WC%cm65bum z=J$Ppyx8pO5OLn7)ooum{NdOASgBr1%iK^eq$ve;=k3;0Si1aPpOw{j;CwXIL{n=b z5vZ2shf?>>pcfSp8(DyT#~NVRU#$k1M3hKx<8aN5Z$Et11l`=i+DpRN=gscQic%T$ zk;g|okh!^6B`Xh%jaeRYW0&e8S!!$FWgAiqR7AA^iHhUuWimY%j^79*h>iF}h%OuG zhl!rOeH6T(3cgEmAQ8Icb&5;O6r5jJc)R^?%>~GFfAqyBo_q&UKY3a%em*DZ=S}V0 z7>p>&g#9WQ+hsBy676Uz5MN%_`|7wE&dLv5Sc!>=Rcvgme-;KzhWfV+66hxZjh0nb zN)FjOHzPl`PqXx7_9Tp`zbqhdcw{3LH+gxn*Y!xHwBc9Nt zFvORZQqa+y1#fM5Ke|ZE(6GXK7;(_2iU@xQ9D_#-pMDYLZD&x~cE}QDY3MdhNr7;V z`RTp!`Tm%!w@X_=nv*|&@&o`XTVgOQr_VnkBJ7#)(i`X%nDkoc+$NHrgAWh*xpvy9 zw-zLd<0}F&Xnv;_c{#|%&r259?&>25ywR2Dv8Bm<5rcI9~zpQtN&r?no&3$g+UWUulMB6 zT^R-i0fTg>(J&-t!Y#2se1E!lRu>WB;L66fNbUXlye2E>P52c9`{4ZCDlPYOM*zUp z&Sf>ij_o=VC^h~)ALTnJJL12zaxa^5>A^r06g>B>D+_h4Pn;qqBRH0Py!V^$;kstm z@z>Ps4+opQy=T_rW7KWNLmI=fIlSFe)AIcx%eBfuc94M??OuzAa@r5IdR^_Ba#(N* zyzW!eB+SHax*w%+=-sdI1VeGSiK`v%xrX6L_^0)T#n}X)kvdnv$kV^GV;GBvge5C0 zD@;pA_pf8_`rmKQhSy@5RCaTp5w&`3K5nbGC#LbGTK%mN3aeXy!d^*@Y#|Wv6Fpn3 z#B$E*pXLGd%vBSkm9UPR&bHfZeX>D2zeo1au%LNU(|v=G`-omZ%lDh7tc&I4%TkD)4!H2`j>3(vjC^@*7jE36~I$7U@xU8)xGxj@88|2 zY}}T5Y|q9&YQX~cEyn^A!^5Qs8FTZ_@c$+=8_xp*#`9`QCi6b;OL+=pw1=Ipw*O#v ze?Dc&%X*ZCAfyT))&(KruABBy9Q8C$Rm)i^N_AC{yrgqE<1kPjli#s31+rOloYiQ| zKC5O&$cF*=TonTY>=`Q8hL-llABS^h?7vd(Cvk(@`HJE7)egiKmLZB-h8B(^8il;> z!?XbZKXyjD_4>`fmji7igaU_#rV+d?^X_)*=f8_dmaeoP{+=j+oNxU)2SSz^-KX$c zeeR`8bK?TAUmjZ|rDSCp8;`dLy&g}DT|VACQFwYN{*5NapBWk&LNqltIst|Vo@nvH zLCLXH%RfQ640_!@gMot;VA^Zfk?xoLte+_pt0>_7p64u)35RDh0-PHA>@I(PEo0&|+A-?y;9sM@8GO{7FV^U!O% z7c5d@j82PniN`I_0s8(vn#}lkG01|Z!A*t7+4+Z_kuWo`v7qd>+7`>f>TFJK zlHgOPu*Z}R{!ICOQ~{(7Ym~3J9aS75U;78|`ExJ7S&1cF9w#kpv+E@-B}0W;P@vEe)>9hOzQM;kyJtP##``?rLM(3jBIgbPV*| z%?A5v9X7V)D8MYl1MI9_>HedHmBbr*uGhnA9s>)D_?H(~<#3$W61hx^hlh>VkR@e0#cCDeyME;c&wt@7WWkM!{& zAZlM0RT>O(vUPWRQs02JkuF1CHPnTO1D2*w@%(Ww5toC&%EqQJzo0_6G&>QuWRxe?)3>4yOMO#c zzujz=jNh#!COgP0BSIePn)D@?!+Au`mQQVU6Gf#Fuv_QMY;1f4Ll}~{2gCFgc}dG) zztILd{^I=T& z$h5gFKzH*?md>+~3I$*0$H^lG0Qn`WQH zF3z>PS%LCK?~n6`=a-hk@t0?lP0A8YVieqzZaexZCeBOW z4>^(aox^&&xw+!|+=TsB#nA;VgK2+E)QjY#tUTe8ctLFu4%fAm>ITfEMFhQOo4ZLFNVxM506{pgS?Ck74K&_v0>$msvbLx?B(^XbsypfuQ226!Y zxy9SP=YR&`W!esomo zvNyCixwE5madQLbm`I_Z;dW*4>g%0>vjq?n)j^+F=OZJNZXZ|Q(aKajkJpx2MKv{_ z8&Xb2Q1mN*l*aO=vD;>#WncU~S(uotmIFrm^Cuev)d^i$d3ibo8JREr%Xa-=F&+lG z;SN%wm2Hhauv2uNoD|x-8e|u3=$ewPeYr{87l| zeT*y#> z-nY#-O<&j8S)j*R)Zgi;@MEjA5}&8JsHgbga_bHf!@SUPk_EsE4d#>k8{NKGm<)R7 z{&y?0&xjQM{~5l{mhE*tF<*pR8e^!!;Rf=nFe=7QXL|fUiCq!zT`MXwlnTWW<<2A* z%OfL4@8Uc?g(y?pYc|$#&8Kq)gXTj8L}=+s%@6z#`gYn7UYdJI=^x(SAGea0YxQx* z#zuGshK4;v#l*m5eOp$Ub zMHes7+sj#P!qN1nHQTfw(vyBWtrI_RyX5HT=mzh*t69cg6hH4vc2Z_mQByUNo0xb33lv;8GUqs( zN}xM5{lIvUPtZU!-(?elF?G z8wXlbTfvRjx7}|n0TxZ1XLyk8A~jXLB8|m)$cam=?d;b~Q!b}tA1^cW(C1FSw-Xr| z89*2xh$dZPkiCnyX;fE-Lt0urT=BY|wvJ4!!DG@g%1Xt?^;K|U;o9S=}cL9t{@DVaEgh8V_L7(!LX8fOj8pPcK6zYS>W@$b!GCO42r;j zfeGrxOV?}Mgz3ma#iF(PrMs)EZDQKazkjw@=YLtO92^)qIVW!8B0Vj0GJZjq4MBwW z{~2RRpcGY9Qm*{Q!raHib(9_eu zZm77S;deO&g-aDDC+2^?t2|{DCWfPd&*@hYg5+q5YS#2uS8X^r zRudnX5WOqCMAALxkCdgw;{%wP?6z70EY!p=FA*q(NLKTW>zQx{0>HWDtfZ8#>gU%C z@QZK*T|Q8rgaS&Y#JI_Ng@>A0ADa4A5IJ&TaXYr4QF|Uo6Jg^ zvw2OcY@6l$OP;YroC3#*ZM`#Kh1Vv-FeSfu?OAdL)+9pF?e?%$!0T%#THG)i7M;_Z z_2-8#D$A11YU3ygFYoGiGP1z2oht-sX=$*~FHUW)7mOP9HhxRiys;63({5+v$Q9ID zdFAC`d|tpkuyzEa}?*9 zNdRVU%Unq4j|AYAfIxzQ;T2pYM@b}MykT+NyC$vj$g8R%&XgT8MZjim92y&=mekkZ zYM{%YLr-@5ym)6sO<(b?j?M(G=#{(=tr(i}M;BPo%!$i;^vB1alatGP7>zd6d0_x#soMLla0O=Jxh>n>DqOQ9+#c;d~MIv%xbl?udng5_cnF9$ChE9W03&6>Kj6sn~n}18ym*$S2ZR!wp(eL z@jAeJ9k9O6TUJpex(?UWgjevX(+8K zbW&2Xkc0%5i-niq{A^@JS=m)|T%0Gj(ZH8ufNY+>3UXNbta|qUxbvAD84GE1K3~q}^LP7fA)@r6;HHz7h9k$s zO6@Q$Dix7(WKvO46=7=lqCrdA(2!qHj}Rcy7ZtaC<!UzNic51_1kWZt6bL4q zD+NeCQDY-dAY6{xt=|AzAkS`Z9XPX^PESvlDDL*R|0@!A$l_Q~y#^H4@h_D!{_W_X zhf9Hcr?ZmJwj;y*L^if2W%G%&&0-c@nJ5+|ottEuK=1y3k>!f=@`e;z&Hck2q09P= zTzXGfOxdy7S;s>FMb7`7Xt@`8XF>xCfqDs*s~^zQ0c`m&5CO zbbkh>OAlrAqwzwS0+d0zI@w3uw>zE9zbqk9 z$(2{?3pwqLSYtktT;ktC7~7foQk1Qt&c&7j^Hiu_LjNk)9w#mb7JyZ%C$RM0S=Ps@ zIj2qD>Vam-+kRY0odwI!-(iOY59G6ZOUnjO^!n_o7r4H075;N9J$!)fX2%`jh8G?l z>WzlJnp%pj9e*#tdzBJbQn`@^_AGa&GH53_UC(j#&(*^{{r&TOaAd{gYqtF7cWM#0 z6PY>#r`w}xe_x>Q$+>D1;|g%)A#2K-uXng>oA7O1CM%Kg(F4$|SRpr!qE-(v?I-Ol zV1X|c7Z-Q;3|>Zdh80KK=-!zBJ8sQ@8ECpx%Ai>GH7P5JStMLM_)oAz)!XCNyg*1) z?M?y7Zwh+)sYd`w|FE)JDZ1Ej6=`g0;^AG6FA}01{b(=x!s>njSWgKYbQsx~AUZtf zy`Z2rZWSaY>y_1inBSjmE&l_wGy%LX;&BA&sJF~hb)8jsKyOcSMH!{Qe|18^PVO(0 zsoGifREXX!|Icc_tL-gAOUp~dYfij3)?U;CBVxz@G#fp=S6^lp7Ftuv`k9v8w&C7D z2nF{=L1eI7q9zAv>9MQfxZEuN`%|)?lJS8#&>KHEY*%?JizDi4{{(Ek;OioRT-sqa zrY|R&Cnjuq!H}w|!~Z0fPS<%7@Hr>B4V+z0=H5hS$)u6Z0L}$YK-F0Ge!O6-=(?}Q z5?8*|uOB!O6!q9I0F(kslt@uVrW3S+yu2%sXg=K+R6rOdeF4g#mgMAAh**gLpj)c% z9p+I00^d}K1U2%EUcdYN`r4RYRZ8l8e!Z=MkdW_mkBF+|mEeWTVLM`0CqIU3OS=`=sw!#%yARF8-szyLekdy=@H*uAEkQd*KJ)P&ou1l!!@;o} zGg5^iBkO@821AyX-r%3i;W@i3l!*2ALpFZP8JZ~u1=Lf$0@vWcz(iH`fzheL5ytp- z#I$3=tteA(!cIbF;ubkiNlEt)Wi@3mSHz|~0zNN30M5Pr*OMWi2!)+2)8)%!L7v$! zMy0<%LtP=LDF!ARGkFPki~rp}K3>)v>3M?|i$PbppKrsYoSdBGoSYi5gdt)9Vm)uW z{x3fBT(&c0*MEXxUR0=EU#qoS@TsZCfWEMl!otEtfLJ?^04xeV%LTI^@2~#_{xk_S zwRq-WMM1uYDZ!P&NSN2h8hhG418Pf^uiGTNw^0TmK?YDXUmF{6+`rI=-6;yznBd1zP2$@DCF2AdHv?& zF;%x+D+U>unwq9$W+wI;?E4_G>p#CT=k^cBMni%A5O=h;&RlMI&jk0EH_0d{r0!jF z64B7WKtsP!67i9;usMl8eo-ShXBG}Z5x|ecWIdVEsuts}K0r^Ye2w z4V5f~9Z}Gt1&1L}be5|guDOpls6j-11wI8>^g6Sq%(rq^9zKe)E(j?Oa3E6?P@ZBL z5d{T=4SQ)B06|izWuR3t*nngk25fbq$BQqtq=aH*nyg5l#WFn+-?64%xv;QO1ra-z z^6TmZ$v#QY6hHC-^CczaSa^mN`-q|`+m%QBfum4OdpmT66?MS)j-e)5d|;d)k#O#2 zi2<93fufsP^ATX(Z~}Db*&U|-Uk2@$<#F^-0e~2g&F%L_NWoqTz2P4yIS?E@&YcT* zpc-*Nh*+arTU&33*=rvPL4@Fy84{J{hE%Z1`3_3;a_4h__1t+x?gXH?0Np-V58?-V zzYH{bfqPt`+O|&f~R$srM1E|q}7gNw5 zXx=MVE6uhzRR(FitQDLC%ITbkMJgn?;)v+eUYsjGkK2U}2Potu<^m3I3PAMr^$DrB zbYP_RE0>NaR!2p_=atnVjE$vhtU4x1A>oUqi4aJK28m=)Ay8 zj*O2&sH#DuVT!S6?76OFHERN%1sW4rr+EUt2Bw5 z4n&|J$&#ZrT4o>-3i#bf@O06t)=;w@yuTkGU*R!p5~!%`3u*qqZd7R$6qA8!w|0Y( zlbd9wPS&E7N1B$O4BYa#(uD&BSJ8SVC^5YusPOtdG&RxF@Bv1|F6|zs?Bd!_c`6{w z%#^wl>fK~=r1Ab_u1=6L`Npwn)|btLOyE~~mx^?T`y)>VOfYpRJ2g8Is<;2wSMW&5 z09U&jy^hE8=RMqc&6k(UBye45&A@mRd#=}Tl9qo3UK~~W4qC|MH@I9Z+RmW+ywN}~@ z^M6GgO>rAw2O)%{s>YE>GB@5FC^2i32oSWRN~C?I$Fuk&`v`!G2P~P%J)flkFONBzA+M=`)Y}1+BEK&mQ38N0r-#re|zzYilP5 znha&YW)>9!0?>k#B?Ey!4-ok8e*q{|mTWe3(o!?0bE(bXi2|xhrv`?9OzW zf#LbG^`vifeBQ482_8l&h?h}8gr>0%d49U8I|VWl^VNI+n2_&lx;KFUeY?2*4_09@ zFcxNJ7b()dUr$f!1WL2BY4iGYYAKQWJTag2ys{ar>5h*Vbe7p6X5VULzzli=x;s}^ zmhVfWA-=JA$?onA$Ms}ysK|zhDS^$?laPq?baqzM6rt{Vbl>ChfE+kyW@im!f!(%r zGGAJpU?2bo0_gTB5wY_pZ6bY0;Z#Fa)uwgbj$;;p!NFcsDvit22mHBCCv(Nlfa@lG zq94J@^~+Zy#qQ#aPj45Tkuho&O3D$lv*Q^~zPqOUjvD?$A+0{z@XpS-UIPi=Eeaz)6{tYE)AtYf{&xL%Zs+#8 zy~?XzUCcOA|?TD>mC^pVK=&X1JYZV(M2I4O4fvPZQ`@bfJ>wMTe`+Jlmc z%Mv1MzLYfClo`nwed!+vW;;?VGDG}8xS~p~sA|8x^-$s5QS@h%E!e&@a>PTqqj1#=t z&=m0qZeHW@uj0{Nprc>oj3XZ3`?XU?mE?*XobkPA#Uwg<^#V)o1KR!uZ_G_cLpf+a zF1nk+HSp|;%9F=k*`SEEps0|5*vGzkKbFd(61elIEzB;e(1{Xpz}Iq zkaWD`7T|roU)cT@r}*CVZ6xwn;=C(W(7VNRXgRm$zb|M$j;`Aqm@sODJ$jvjpJ$~G zSt@iLf+D^-Q|pZ!AXjuHy`KN9vp!yIf#VR-SYbMS4a3JT>J~v@jO<`X(w>s1#{bgO z+x}{bcABqmIP4A2Nk2r3yd3%R=wU>sSWEKr>Kg6~5cQ8r!5L>JHg6gQK4<3!k+PE5 z*bDcGWi?`-{75g$wL5QTGY|O4(w(nZ2R0@IpboTcYzsd*VpR-GP5B!id*!Z@TU5$8 z>UloJ#(kH|3O(NClmX6pw@W}x(hKU4)s&kIL_P5Jj14$5_xIEj;u1rIUD0T^%czM? z^wi39{xj~Np*K5iV0)@(&eHTO%GG*?zH0$lhzl>Wh=2*gPn|kip==CSX$LlEXJ_+R zFbbG34%~Z@vS+Tx7&86h*DqHLbX6Hd<&EGV)p!pyI`d6Riur<<*I_FqDpNen z*rW${QAqmu<)G8ynEMF)qEKeWljYw9)4a1zbCMk`EeEXHTV>3Mgu1Cwk!UAt#-ZV5 zrJu1l-G=lQN2A*uYHB0;i;IgnhifZBpZrGT2v>;Tm`E?_U~1`C{S`NW#}-`O6O}12 z8OiZd;mfQ<_s#Y4N*_SwUG+lP`g> zB7UfJGrrTdH|nyGRLi%Tno%Q* z9JZ2&zjW1}kQBng!bEM(lasD#1mLV88`kiAXN-)j%OfMl*=lQR`Jn<8H;(Gp ziXFG+6wmx$Ie?pcPLPL3yRQ7>VcfL6$=7gXVE_X?GIa!R9-n|m{mAetDP(^@CX@Zr z6zwNoWuy|0$C(EQVK$cMcr*f8ugu4>5KUb7p^DfoEq!{GC}SO%f&JwL(xiVH*eB$x zDwzc;Dk`K`*Va@)5j)eDWBfDbPfAQo%m<(_eBBDj;m-Qe4>p(gzh{-#X)~eXt32~I zX-sr3Tu2se2?z4+hYHZQ;>&vD+B@sER;~V zZCTxDF+FZ>MNWyOyL`vqSc;w{ErytU^kI3 zkV5hZ*`4p~sFtZQIkdJ1`lm}`VxkRYV}^2+e*81M+h{JFV}**5Hk#lMOB7R3gQTR6 zzz_%ykdw^M%TtapD|YGi^1347*Y=B8YxVN3w`L@|#M(O548#Qt^z`V7?~>)!ylr9F z(WT?ZQY9=2h5294?U!eGY3Tkij4`hwBc6WY68KEY?C;3bICWS_+PN;4hT!{kgC_u?%$ zp{8%?%zZI1k&p74F87>OjK`=WCg;jM`3_Y3OB9Li195{;^}uS}YL@bldVm;ad}4AS z62MA)-N7D>_atFfLP?c0zoh^E9Uh($v9Z2j%j&#MJ5>Ztg;h~DYBpgd!X_5 zbgJ2|nTg3eVC+Kde65ut3wzJH)n}@fH8^J%7(xF|Z3Qqq*TLl*L?!$KB#9MDd*2h` zZcbJ@XMJ$DkIHFijLKiSG+kLzV$8I(+fB|*XA=I@+$hxCNudbNHT@Z17XL7}b*=2u zNi3_I*e4bA`@O03YUtnbf)PJ?Y{m6^=9LCWWD#3j=csX}v_=-fUx(Z7G%i-(|OBc*#cki;F&~ygEAO63&-W-!&01#MZDQ#cI2n0_z8MSnN?{ zL7}60Y(fI5ZE60uw|DK5F814L$aS1ruVKcPTex44&xd7-sYJ3>o(^CR843#ty=n0y z-6=(ds42Fl1upGB22hg_9$fg=of&G&`E zGs|Cxy1KpxQPn324Gp{9OlJgA8c~8k<*2@Q=T0Nq0z`L0EOn~m9J4TbUN_GkJ(#GChg>%)h)C*j=1(^AvulVL-!@`*dYryb*B{rGC3J>R}P zHIZ^pPE3>o>eHzkw({kl(3W37%u6?QY_?@Mv51apAy^_Agr4UQuVeV({p1A-dlomd;_a+k{vwYT;UO`%#PZ&JSd?}3^#FGi3l_4B=!dbV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e38313a147f071899cc6b4c08fdb3c9f90bfc0 GIT binary patch literal 19877 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 literal 0 HcmV?d00001 diff --git a/lib/api/moment.dart b/lib/api/moment.dart new file mode 100644 index 0000000..d8d2127 --- /dev/null +++ b/lib/api/moment.dart @@ -0,0 +1,34 @@ +import 'package:food_hub_app/models/moment.dart'; +import 'package:food_hub_app/utils/http_util.dart'; +import 'package:food_hub_app/utils/index.dart'; + +Future addMomentApi(Moment moment) { + return HttpUtil().post("/moment", data: moment); +} + +Future updateMomentApi(int id, Moment moment) { + return HttpUtil().put("/moment/$id", data: moment); +} + +Future deleteMomentApi(int id) { + return HttpUtil().delete("/moment/$id"); +} + +Future> queryMomentListApi() { + return HttpUtil().get>( + "/moment", + converter: (data) => convertListResponse(data, Moment.fromJson), + ); +} + +Future addMomentCommentApi(int id, String content) { + return HttpUtil().post("/moment/$id/comment", data: content); +} + +Future addMomentLikeApi(int id) { + return HttpUtil().post("/moment/$id/like"); +} + +Future deleteMomentLikeApi(int id) { + return HttpUtil().delete("/moment/$id/like"); +} diff --git a/lib/models/moment.dart b/lib/models/moment.dart new file mode 100644 index 0000000..427e386 --- /dev/null +++ b/lib/models/moment.dart @@ -0,0 +1,53 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'moment.g.dart'; + +@JsonSerializable() +class Comment { + final int id; + final String username; + final String avatar; + final String content; + final String date; + + const Comment({ + required this.id, + required this.username, + required this.avatar, + required this.content, + required this.date, + }); + + factory Comment.fromJson(Map json) => _$CommentFromJson(json); + + Map toJson() => _$CommentToJson(this); +} + +@JsonSerializable() +class Moment { + final int? id; + final int? userId; + final String? username; + final String? avatar; + final String content; + final List imageList; + final String? date; + final List? likeList; + final List? commentList; + + Moment({ + this.id, + this.userId, + this.username, + this.avatar, + required this.content, + required this.imageList, + this.date, + this.likeList, + this.commentList, + }); + + factory Moment.fromJson(Map json) => _$MomentFromJson(json); + + Map toJson() => _$MomentToJson(this); +} diff --git a/lib/models/moment.g.dart b/lib/models/moment.g.dart new file mode 100644 index 0000000..cd6554c --- /dev/null +++ b/lib/models/moment.g.dart @@ -0,0 +1,54 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'moment.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +Comment _$CommentFromJson(Map json) => Comment( + id: (json['id'] as num).toInt(), + username: json['username'] as String, + avatar: json['avatar'] as String, + content: json['content'] as String, + date: json['date'] as String, +); + +Map _$CommentToJson(Comment instance) => { + 'id': instance.id, + 'username': instance.username, + 'avatar': instance.avatar, + 'content': instance.content, + 'date': instance.date, +}; + +Moment _$MomentFromJson(Map json) => Moment( + id: (json['id'] as num?)?.toInt(), + userId: (json['userId'] as num?)?.toInt(), + username: json['username'] as String?, + avatar: json['avatar'] as String?, + content: json['content'] as String, + imageList: + (json['imageList'] as List).map((e) => e as String).toList(), + date: json['date'] as String?, + likeList: + (json['likeList'] as List?) + ?.map((e) => (e as num).toInt()) + .toList(), + commentList: + (json['commentList'] as List?) + ?.map((e) => Comment.fromJson(e as Map)) + .toList(), +); + +Map _$MomentToJson(Moment instance) => { + 'id': instance.id, + 'userId': instance.userId, + 'username': instance.username, + 'avatar': instance.avatar, + 'content': instance.content, + 'imageList': instance.imageList, + 'date': instance.date, + 'likeList': instance.likeList, + 'commentList': instance.commentList, +}; diff --git a/lib/views/moment.dart b/lib/views/moment.dart index 4d3086c..f55145f 100644 --- a/lib/views/moment.dart +++ b/lib/views/moment.dart @@ -1,4 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:food_hub_app/api/moment.dart'; +import 'package:food_hub_app/models/moment.dart'; +import 'package:food_hub_app/widgets/moment/card.dart'; +import 'package:tdesign_flutter/tdesign_flutter.dart'; class MomentPage extends StatefulWidget { const MomentPage({super.key}); @@ -7,9 +11,35 @@ class MomentPage extends StatefulWidget { State createState() => _MomentPage(); } -class _MomentPage extends State{ +class _MomentPage extends State { + List momentList = []; + + @override + void initState() { + super.initState(); + refreshRecipeList(); + } + + Future refreshRecipeList() async { + final result = await queryMomentListApi(); + + setState(() { + momentList = result; + }); + } + + @override Widget build(BuildContext context) { - return const Center(child: Text("朋友圈")); + if (momentList.isEmpty) { + return const TDEmpty(type: TDEmptyType.plain, emptyText: '暂无数据'); + } else { + return ListView.builder( + itemCount: momentList.length, + itemBuilder: (context, index) { + return MomentCard(moment: momentList[index]); + } + ); + } } } diff --git a/lib/views/record.dart b/lib/views/record.dart index 055d55a..108e739 100644 --- a/lib/views/record.dart +++ b/lib/views/record.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:food_hub_app/widgets/recipe/recipe_calendar.dart'; -import 'package:food_hub_app/widgets/recipe/recipe_list.dart'; -import 'package:food_hub_app/widgets/recipe/recipe_timeline.dart'; +import 'package:food_hub_app/widgets/recipe/calendar.dart'; +import 'package:food_hub_app/widgets/recipe/list.dart'; +import 'package:food_hub_app/widgets/recipe/timeline.dart'; import 'package:tdesign_flutter/tdesign_flutter.dart'; diff --git a/lib/widgets/moment/card.dart b/lib/widgets/moment/card.dart new file mode 100644 index 0000000..aff6975 --- /dev/null +++ b/lib/widgets/moment/card.dart @@ -0,0 +1,216 @@ +import 'package:flutter/material.dart'; +import 'package:food_hub_app/config/app_config.dart'; +import 'package:food_hub_app/models/moment.dart'; +import 'package:tdesign_flutter/tdesign_flutter.dart'; + +class MomentCard extends StatelessWidget { + final Moment moment; + + const MomentCard({super.key, required this.moment}); + + @override + Widget build(BuildContext context) { + return Card( + elevation: 0, + color: Colors.white, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + child: Padding( + padding: const EdgeInsets.all(10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildAvatar(), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildNickname(), + const SizedBox(height: 5), + _buildContent(), + if (moment.imageList.isNotEmpty) ...[ + const SizedBox(height: 8), + _buildPostImages(), + ], + const SizedBox(height: 10), + _buildTime(), + const SizedBox(height: 5), + _buildActionButtons(), + ], + ), + ), + ], + ), + ), + ); + } + + // 构建头像组件 + Widget _buildAvatar() { + return TDAvatar( + size: TDAvatarSize.medium, + type: TDAvatarType.normal, + fit: BoxFit.contain, + avatarUrl: '${AppConfig.baseApiUrl}/${moment.avatar}'); + // return SizedBox( + // width: 40, + // height: 40, + // child: ClipRRect( + // borderRadius: BorderRadius.circular(25), + // child: Image.network( + // '${AppConfig.baseApiUrl}/${moment.avatar}', + // fit: BoxFit.contain, + // errorBuilder: (context, error, stackTrace) { + // return Container( + // color: Colors.grey[200], + // child: const Icon(Icons.person, color: Colors.grey), + // ); + // }, + // ), + // ), + // ); + } + + // 构建昵称组件 + Widget _buildNickname() { + return Text( + moment.username ?? "", + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.black87, + ), + ); + } + + // 构建内容组件 + Widget _buildContent() { + return Text( + moment.content, + style: const TextStyle(fontSize: 15, color: Colors.black87, height: 1.3), + ); + } + + // 构建朋友圈图片列表(网格布局) + Widget _buildPostImages() { + // 图片数量 + final imageCount = moment.imageList.length; + + // 计算网格布局 + int crossAxisCount; + if (imageCount == 1) { + crossAxisCount = 1; // 单张图片 + } else if (imageCount == 2 || imageCount == 4) { + crossAxisCount = 2; // 2张或4张图片用2列 + } else { + crossAxisCount = 3; // 其他数量用3列 + } + + // 计算图片尺寸 + double itemAspectRatio = 1.0; // 默认正方形 + if (imageCount == 1) { + // 单张图片使用宽屏比例 + itemAspectRatio = 1.5; + } + + return GridView.count( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + crossAxisCount: crossAxisCount, + crossAxisSpacing: 4, + mainAxisSpacing: 4, + childAspectRatio: itemAspectRatio, + children: List.generate(imageCount, (index) { + return ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.network( + '${AppConfig.baseApiUrl}/${moment.imageList[index]}', + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + color: Colors.grey[200], + child: const Icon(Icons.image, color: Colors.grey, size: 30), + ); + }, + ), + ); + }), + ); + } + + // 构建时间组件 + Widget _buildTime() { + return Text( + moment.date ?? "", + style: TextStyle(fontSize: 12, color: Colors.grey[500]), + ); + } + + // 构建点赞和评论按钮 + Widget _buildActionButtons() { + return Row( + children: [ + SizedBox( + width: 42, + height: 36, + child: Stack( + alignment: Alignment.bottomLeft, + children: [ + Icon(Icons.thumb_up_alt_outlined), + Positioned( + left: 20, + bottom: 15, + child: TDBadge( + TDBadgeType.message, + count: (moment.likeList?.length ?? 0).toString(), + ), + ), + ], + ), + ), + SizedBox( + width: 42, + height: 36, + child: Stack( + alignment: Alignment.bottomLeft, + children: [ + Icon(Icons.comment_outlined), + Positioned( + left: 20, + bottom: 15, + child: TDBadge( + TDBadgeType.message, + count: (moment.commentList?.length ?? 0).toString(), + ), + ), + ], + ), + ), + // _buildActionButton( + // icon: Icons.thumb_up_alt_outlined, + // count: moment.likeList?.length ?? 0, + // ), + // const SizedBox(width: 20), + // _buildActionButton( + // icon: Icons.comment_outlined, + // count: moment.commentList?.length ?? 0, + // ), + ], + ); + } + + // 构建带数字标记的动作按钮 + Widget _buildActionButton({required IconData icon, required int count}) { + return Row( + children: [ + Icon(icon, color: Colors.grey[500], size: 18), + const SizedBox(width: 4), + if (count > 0) + Text( + count.toString(), + style: TextStyle(fontSize: 12, color: Colors.grey[500]), + ), + ], + ); + } +} diff --git a/lib/widgets/recipe/recipe_calendar.dart b/lib/widgets/recipe/calendar.dart similarity index 100% rename from lib/widgets/recipe/recipe_calendar.dart rename to lib/widgets/recipe/calendar.dart diff --git a/lib/widgets/recipe/recipe_card.dart b/lib/widgets/recipe/card.dart similarity index 100% rename from lib/widgets/recipe/recipe_card.dart rename to lib/widgets/recipe/card.dart diff --git a/lib/widgets/recipe/recipe_list.dart b/lib/widgets/recipe/list.dart similarity index 94% rename from lib/widgets/recipe/recipe_list.dart rename to lib/widgets/recipe/list.dart index d0f06ef..79bc995 100644 --- a/lib/widgets/recipe/recipe_list.dart +++ b/lib/widgets/recipe/list.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:food_hub_app/api/recipe.dart'; import 'package:food_hub_app/models/recipe.dart'; -import 'package:food_hub_app/widgets/recipe/recipe_card.dart'; +import 'package:food_hub_app/widgets/recipe/card.dart'; import 'package:tdesign_flutter/tdesign_flutter.dart'; class RecipeList extends StatefulWidget { diff --git a/lib/widgets/recipe/recipe_timeline.dart b/lib/widgets/recipe/timeline.dart similarity index 100% rename from lib/widgets/recipe/recipe_timeline.dart rename to lib/widgets/recipe/timeline.dart