From a21d40317ff683d579e8b2c5c3da704d34a2e3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Fri, 1 Nov 2024 22:52:36 +0100 Subject: [PATCH] Use activity buttons widgets from flutter_custom_toolbox --- assets/ui/button_back.png | Bin 2422 -> 0 bytes assets/ui/button_delete_saved_game.png | Bin 7834 -> 0 bytes assets/ui/button_resume_game.png | Bin 3434 -> 0 bytes assets/ui/button_start.png | Bin 3058 -> 0 bytes .../metadata/android/en-US/changelogs/70.txt | 1 + .../metadata/android/fr-FR/changelogs/70.txt | 1 + lib/common/ui/nav/global_app_bar.dart | 7 +- lib/common/ui/pages/parameters.dart | 151 ++++++++++-------- lib/main.dart | 5 - lib/ui/game/game_end.dart | 24 ++- .../actions/button_delete_saved_game.dart | 22 --- lib/ui/widgets/actions/button_game_quit.dart | 25 --- .../actions/button_game_start_new.dart | 38 ----- .../actions/button_resume_saved_game.dart | 25 --- pubspec.lock | 6 +- pubspec.yaml | 4 +- resources/ui/images/button_back.svg | 2 - .../ui/images/button_delete_saved_game.svg | 2 - resources/ui/images/button_resume_game.svg | 2 - resources/ui/images/button_start.svg | 2 - 20 files changed, 114 insertions(+), 203 deletions(-) delete mode 100644 assets/ui/button_back.png delete mode 100644 assets/ui/button_delete_saved_game.png delete mode 100644 assets/ui/button_resume_game.png delete mode 100644 assets/ui/button_start.png create mode 100644 fastlane/metadata/android/en-US/changelogs/70.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/70.txt delete mode 100644 lib/ui/widgets/actions/button_delete_saved_game.dart delete mode 100644 lib/ui/widgets/actions/button_game_quit.dart delete mode 100644 lib/ui/widgets/actions/button_game_start_new.dart delete mode 100644 lib/ui/widgets/actions/button_resume_saved_game.dart delete mode 100644 resources/ui/images/button_back.svg delete mode 100644 resources/ui/images/button_delete_saved_game.svg delete mode 100644 resources/ui/images/button_resume_game.svg delete mode 100644 resources/ui/images/button_start.svg diff --git a/assets/ui/button_back.png b/assets/ui/button_back.png deleted file mode 100644 index 51d7a01d171f7d7f047ecf9dee2d7ceee23b310d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2422 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 TtA^&muK*w%B$~f6b-n&C1oC$E diff --git a/assets/ui/button_delete_saved_game.png b/assets/ui/button_delete_saved_game.png deleted file mode 100644 index 4ca5b749c208c4b7eac2a4b141a1bd918d7cb98f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7834 zcmY*ecQ~8T+kO+oh@iE%(%O4dBW7)CZ>mLO)QCM}t5uX%iHbdn8nvmQsIB&@s#&Ad zsv6}>f4}eguIu~b&3onK<ay4y&;5+|exDoYJ%EugkN^Mx)6`Hk#NDy~E+Po-({Ra+ z5O*W?)UZGT0E-IlQU;+qd5Lg?^ge3lK1Lo+KK_rq9RYuTe?i1ESLEYIo{oYZ-p)Du zatyfHT$-v%#sLdIa|6*fCJkGi!FkC2Dy`xQqKHrIQBPHfl*Q!OI0^?<EMtXvFX-Na zBOP27f6g8)s8gtg=rf-3gfU$_CpkGra7e=`=*8lqdD!St6v~j#a9FvP$=Beq9mRe5 zOh&P(`AgHU3r#NX$F{;0BJ^_+2d9g!RUNY)0{7Sh4n+;sF7NzW1+DZZ5~65@SODAh z03hJ--@p)2>NvU5O+kh%8>6R-lC)(P)hz~U@s^Vm@K3ETcWPt}Du3|&DvJMbIlt@t z?5_+~Aya{oz*>DclUolI$#5AB?xuVimd5vs@7DHV{SGKq{jf*l7(rln`zdJL5;<Jk zFY3PFLzX8R6Gg6&<tDj16?}GbQsX#8GgE0hl727I;;<X~$qQ{B2P1hl)O)3&N)q;J zNVhcpCNqp)nsY*q6>)ds^JR%%+Ck{q{i7Kx56!B9&5@jqwr?#eC3-SC=?Bln$DXWk zE6%osg;8jAa<3d|Oj0AB97WT#Z0*}=<r}10z7A0k>ilzVBU<Yi0*)Nj!8(SG$^#c+ z`J2!*&J=O)`3HiTGc%_2&+0-i{aXHXLvK@jO4~$+?aKr4;(1!u(eJ~5n$nNn?yp@s z%FOYLU|V^~0&oOw#7%PODolKC>O2(^HC)eW3g-YR2}aN3emm@Wq*FFefmlc8bttK4 zTi=ws-kZ=Uvmh5wHkPNWUBtYBe<ijKUpnj;^XOvVYLp<fYHe$KBk`C)sM;L#t7ADb zWHb*iiK5(Sr^dYA(3N@Et~rZRUlyS%2u`FCTt6|=S6B5`8oqU3Z6@V|2whqWymm7Y z?)hDf_J#QdVU~<5&DK~8z{dOZ<B9<Gv-CDIH9``koA^p@gqZ8CbOE{YYe9?dfqEz4 z!={6!YSAK|J)O3sG41nTIfW?-+0J=(k3vEPU#}hZvpybJ?R5*hbU!-3N)6MeQe%>P z#w6x6x_&Y_#zs1F%=kj)BD6B(+%dyJPv4e>PV+)|wN6Rx4}g`~Lc50iEPQeOX3RRA z`F+Pl#mjGge=>NM&U;wB7Pd<nZTv@Nw(5>HUcaoRe+bZd(XdfgI1+JPU3bMv?^co* zf84+Rw%p&ZaFO<;*N$9{tp-H512QJzBtgHocc4<c+L`VAjz*4Yhei>yUU48t<q4^@ zgO5c+qpRXMTn_BivVUuEcvM=w4jKzti-n1nAbh+7PVm^)R+=0+MqaQdC&^<5xFbA% zy1u{nZANxt6r{c&Xn;3fmf_I->3O-(#dT-c3+DTNs9zd_n~+=EzMgk>2YRhv{89}L zzV9D)V`pS{-)o|1J#R#-{35N0f&&H=f*2SW#%2GOj^$ob0JWQBUUSY=Y38o`+~Hfs z5%zSVE>mUeij49=Z28pd$gs)Wbg9|*LVe@}wmu4Fd^O;eWZ&H+|Cd^isRDt3dEKDk zM3ynVA5{^=KY7BP|6knxUmycf8PK8(hCEmnOONzxIA^v<!YbK-e)!Sa)a*TCkNnLe zoicQFBWE_A+eeXki9v+ITVj)UDtT0{0d1vNhg*TcSYKbZF<()wzsZJ6oC#tbzK5dY zaD(n1_N6(#qjn_lIeNz>`hEmAsY;1%-e`W@$I`3lFNw5|w|90NelE<Kw>}|`Q3hdX zdwn|s&*!mO!x3d=G@cI)&9*4bY<O}c-ERxoLJTFJEpeOKcm<|^F#C*;K2S9w!pKax zC5s<r-kdrr8recjK3?fdak2#@g36p8)<UTWb`nXhH;NFGS)HCDT09<29i+Bw6#c{5 zBFWCLgb4q{Ek`bi6fI)3yjZZMipVIlFrg?xOIHPCkF)mm{VkJ_&cVW`WO!K$p|N?) zLMCadv#MTyQt{vzGE8;#=vdP03XRavwE99!*k=&nhHrj6$e<`@TfzR$^u5+~OBVqk z2l;hyw!G`yr){!+vy9X~8hgO!|DA7%V36CFKij!mcq%+>kJxGC?N8^=Lzsc9z+>rS zJZA%LDiYq!W|p)B^B`&~)I{yci{o=S+EJMo4_MA$=G_yDVh_KV?6D5{j$T*&6PL+* zgE9wzVq;Fjs|W`&3g_I@JEJ*bahfl=&b)LdHG0Y*PQ&Oo7YB=ri-8y0#kOLx1|_;V zdXFCmvHUHFfo?C%XI>m2TbOV}@5k%>>;7%EB04TO<`_~S+mG4+^AvX{ZJI`m87<I@ zX5x$<?<|}=+3##Wx!uo<{4m>nCxh1Z3TpI1PW1F!=h^r`s2YU-Nol0VS>F;nJD%Z7 zZ|p?Awvf*nck#!(S!>>I{$hkC0pt#Tio2`CP`A6w&aMe_VZhA0$JA=lEaQ&IRIS0y zKY>(;jAknbNuJ(F?oCBmHA%8{XX%Fw4|ybHCw#bzf9&n++B6nbRV7D}%K@0w#OK!4 z^I~XKo?;GNvhl@5SvvV3pNie1b2*qVy=t_zPE@=P?6gTbtzL-zJ_;Q_zWnyB$Hd%R zR*@Y()w_>@<tgG|OIKYLm5WCn?(Vv`xr1#C!kmFr{vY9v?3dwzRhOoD569O}>tqe> z7<NlaI18`d*R}Y@dTrhYEMJ;*Kjq;)#{`n2Dm3%OXOd&D!`~5NubGB!0}FfLM~6UJ z_9sUgED<oU#7mCqNOpNw4*kFgDF2)Plo0jgnaLig#+l7+8!RC~!=;o+2%pX<5uX{D z%V~wL3Se#J*i0-)*~a%w>Rl2|>R*5$a`@b2TESL1nb7DaU>XlK*8=~qX^5%2Bn_se zWuCBW+AO=|s8*^07_bfo_IknX$D{X6Y2f4(K!%}3@l@7Mb7+Mo&$M~W))Y^1Uj>NW zUAsJS_=kGEna83dNDlZ-jrW1R6`qXu0mcx!(_>M^k|e&!G4fjnbC<GAVjdo<!sGi3 z9_nmbeuE~S5)zGAU_mUf>jrZgEQ&_7^1YjSh*x%UFbLVnc?0iYK={4Vn)PvR$YzY) z*(34rXo6+$fzR0j^m$SNtn8iY0mFx)xPtaBMlpWX&ED8TqOAx2BNbxiiHdJn3`uzb zJk&yb4D=fBaksF}(OWY7YO0arhnQ!TKE<Q4JLwwr>MN`fXUeQEBsmi5Km4-iH1Ovu zuA9b(i#8Fk;_ay^k-S>O6l)s1Qt~W1m+`a+4V9Pr8UlUa{#&++IoHR>_xO^Kb#>iH z5A>Ag`$xC3O>--{5nYmJCR*E_H=noygU;)H{LUukzYa|}j(PTGn&oGZP%Y88T$h74 zI(4G$K!sz{Yk#l2_Iq%)CL0SA8+K=qlOs)c2}l)K5Z5oJtu<q4Fe_vLdV4lIqL3rG z9TzC-ncXZwKe`->YfynS_n3u}#3!Z<gmATaY4<NQCNkuEXXwZGF9d~0Ph@VPDG;kV znDu?TYlpmVN5^epoNwToMLepW=xyZABg3NYB=I9fkE`@gUhT76{8@^23=gI?i_+Lu znAQ%6&2e4C_qZ*Fk?G)Nc}@0YT(9GN!Pj=gekv@2IC5i$ZjR|^90w*oN7EwK^Ev}B z!}4zR*M_VlO(wi7J$IhmicYY5z|iu2a`x;}e%2;f_elQc*_C`Yt2%?s4VwJy6218G zx?vSb^}<rlS*>V(tDsg$rl#c~d-7BdJ~>L>H7O-UJe@dW{rG$;s&zGn_I8Yg>!0>m zjh92QmW^)n69-6^z;*orq^(ql9u>k*mBFGu$hULMqQTqo2<^uv9*~kCzQ~@;Z&O$F zZOd)BU8Yu2hRu}-<(sB%8+6z^b(}G@k-kMdzH-0!fF~DjtD58&=@zvjD@{bypTaz( zM94gK@GUQB2Z65y{CZYwyyHCG(}s!_dEDnY_x&%eXpZ-%TLV%OGd%%OTRQk;ZZ0mX zxT<mS_wsP9U(9Kk4pmeACnbsjzp0_&9(?4vMk#sZS&|z5Fy$)4PyYxis>G_2G#$>K zX0Nq`h?0ozxgs*DOtLHz$hV9*6@cuGa2NMAA57JS(*_YY_$SAD9V|_NI_eUcC+6jF zjMgfj`YPR;k0<PaN#?E1b0C~|zD;wCoOnC>s{X()QggBN3(8cB-Xx0q{z^zcp8Yr1 zIuR~5qR1mbaZXbVbAqE3uJ1FlNgcoWqy%I+J@xbR<2?0^o^VK=nC7j%PELNBYa5F5 z*-VHckpWrY0r48u&3}rUz@h60sb8u=Y?}HSyRUqFPPRiz<EbE%#e8{2ubY8U5S+J2 zt#8u{ejon85)e<)Gqu_RP~X2BAB{L{UY``B=U5`2HvyN>8s7Uby(@bopr`>TWb%v9 zp%y!LawI`b&`H7Y1X002%?AElU3UgOaAD0xD1Z`dftQ2EzkFPzBQ>r3awbREf^&v_ zMQNXVi{Z63CdEhAfCj&f4o_U^f@(vdNvIJS;WlqC=mkPI0F6a-My6Tz&Y%xDYR#3_ zY?E|s^pCAXlbV1idOSKypg2~a)IK|Zo))ic2fxdm%o~KpgBPPwpU7D%*_taMCBcHJ zl1Sabk1byf9x=EB<2!7$Sb3=Z0I|lE?PI7x_7yYp_GrZ5j(zJEm>yC(AjLQ2ZeS!^ z^wJub1u*5q1l={_T5efnY36{}Arn><5)adh80w$%V>Awi)_4$??cJTrpf2IJVe9<` zLX{KLI7Zz=G6Vs8R(`J_rG<qY14f$nLKiVXo@1bNHoBkdf~gOAqkSnVN1BvyRX#Vj zm-L4qIqEOzGmAWcQV))N`Bk!v_f7buG0`kpcZT699HNn%{{|gO<<_K>GZCC4_?y7< zHt@Vb+&9WiQ^d;wB<m7JTSlCa$vPo<Z?7I8PyyyrA2I1hc~S$WXn+wYYkvb>-w`yJ zQRZ=fjQjo}2%tN^*M|nIOtU11A?}`2;7>H$!~;@<o4`}?&{yxQ0V$Au7csY0vM7$L z0+zuwjlii^IrhyQ&xa=9D+Jd-l|vGS?{i3I;pTFI?0bmg3%JWeoLmSNK&`E<pEtb! z9)Ob>OhzNU`(UCY<9plN`K6`KO(Mcx;ka%$9Sl+zObvjhI%Ssc2@j`I&k(F9w6Qbu zEbC@Y3NbQSin~p+1*sPGi_bh|;{4BQ28g*I$Gk~*7;aS7_JYq8OJmbvPR$o*$v-`R zKv(zyHyIH135i%Do)!?#3`Pksk|HI|)qFH&n*lv5;ISTj+rF>BEX#y#&rs`w2;;CM z<<u%gWr$!00o^A$Y&Nx1Fda>+Gf18BEx53v2ZGFmuG|H9_bKhO$!?J+4pR8J)yxUP z9GX2rOCNxkow{z-d+jSei{Az7x<7gSFAN4eTo{*1;W&O&g&~F82n3n&&j@a1j+He| zDjT&9F)}9f-NI@uU`g|O&C0`B5%>?#c;}oqxKd16z~YgfNvyCOaWx9&v<Ge({&&cY zXw*kK`&5fZDW<WWuV9;^v{+5xuIc0yOlxO~yTX`xv?|G<t-JY^TMcJaHe3)1vWB3% z*p{-g!X2G)yvU%$WROHW<m5xf3D9B-_#NI6qNW>TMYu2vxOMWXh<CBj*IxQZXnkXN z$BX04Cb$`j8k7b_4U!<ML{)9>xz&W6{zw(X1r-4b#)W-F?Zk-RW=P*13wssvuCYi( z(sKMxuN6Sq*~o6|nQO?K^Sc#Wry0vf_^7tG0v+P|0t9GfauqnVPd_CESn;x|2K&$` zH%V>D9EnD-W>j-ZN{TTvhs`2EI+hfOQO@_UV-bUnld73oFAP#{Aj{-{B-4fjX^@4O z)Kfx=elP24I*EEHm3^bw<d-jLdqcFSsmmjaSXNqWAk-k)_7VH-*YMOqn0J+EG$O%U zhEXS7y(@~!HDfFvmoJ#`u+=@nYe@!C@VSOTipDn>^SUk_#>dS#tZ9H5G%B5u0zayW za^2D~-le`vCphZgDa?YYmK<YROzFEbU^BLkl37F6fHMep)>!d7Da|E(D&{892Gb5v zGXJrX`J0$-m<}UH;g>I}3jX~e_&C((Gw&G$Di2I(7o!3B&m%|H6{Pv^`XP*d{|wm= z5!d{rjujA?h!~_Of$_N|I?SIykh%XzeR~(N1Icv%0&}UCE9F&*KUXr>%&(fWAL)sQ zuE+wF#}PVF_C}UP+LglPw;6Sw1e_9hvI5keV5(`vt1V?^w67YGqZ24Y%|m#$1$c&s zjielxl35TW+7~8|jH3dyc+|F;8JM3$wTu#YG60e|whf5*M5L>Gl~f87;^={Ek!{`< zw}wLvbS1OatbtOH0WlYLj(~T{$ua)oiL=wmkE4?$A3=k#Cua~OD?o!r)fp4LTQzSm zr7u{KW*qhvL`?!U-|;i5^l%Aesxld)&ZnY5;8uf8f|(LNaTh?nvqojt0GvSC`}bTg z2lg5riqoEHLxra@@8~d^#%p|&!RjS0+xz<ZZmi`n0Lx%w9tgKttZbrFV2gFi{{H?H zK(~Vfj%P48H&@f;xxFXFE5`sFUm+*~F1EvmP^ZcoYp;ho1H_(1qN+H@dbc!lpE%-z z6AfKyBq;OF14vf^XB@cn^d<Z-hfik&o-6=05**p39glRREwe;W5ciB`!8WC7u?WB% z3BGN)&PFrf>qz@Ki%dqfqf40_K-O;Hi!ao7Yn?{8l!``sA=~kn4p+Fkr@{aJW4y$L z{Uuz9+xVPBfBhb*82SP%O^*7Mklm`(*wL+H{;1kG*1*Ii#d(sklBOAG0Dv`kGef1Y z8LvuKUDv|9VaPF17Vunb3*R`IdQ;hvs3%HzaWlZ2Df*v-P{4Sc%f1GeBaCBfyd!jS z*5>iM8nFMip-gR5pbJ`2*YferUV|A4qK<)@0m3@R7z?Q(#)Ux&^^rqd)AUi{Q*uut zbVUK+m&T<kVLm++qA)4Hg7l$_c^VI|(;yNxLI0o&O@?TPSwgLWt$!qd!@TR|2+beq z+RxM!jDe{t`XR_SPy;a<Y#%{7ufz~zMRfCBwfQ2OG<Q-sK}T0R4r)?^MlFeqpdTg7 z@!1umk6som)h3e7r-hLjL(1xx367L%I_5mVxcWfU<JrU}l6+!b*Bx6S8qLF4d9@hC zKWG0&Cl*&-PG~TYW?<h6rF?4f$i~KI-CJhsF<>NVuCGrnFE8H~>dH`F|0L=kHi5v8 zo!=z8VDH|q>DThn`J4DzCETwq8d+{_i_~;eOZ1H|gXgr1L%|NmA(*LT(O5Jkn_sdB z_Kcv69xz_u!Z1|U;DESevIDhWh@*3fgRaN{l`^0<^G735Fw{Scsx|`#=(68}XaD2w z?#$E_tU|rMJ-?dt(J-XGSj9AzC~oatcol$g2?eM3c}d{1X9|plJdAXF2PBL#RLTR4 zOwA{xt2zB5n4F@fNoX;WfPqpTs_RJ%>{Kwd!j!_T7G}wZ3ljjBf-!sJec~MAzU?Bs z_W-IB;N*AFa?ru0l})Q3tC$&~L1$uii`{&yqxO-)B4lzJd?CrN+LB9TMhO@cD}BIi zrSEU#EU5ixkniucyBQ*feC|N-0l6D^Rlut8*XaF&li+Xei;cCuyQU~*|HFljPS;^m z)JTqG@kOKK&|5u<7Vq(>6&vIRNZ3Hh(~8=#;JF1Le3nmm*&wYicNkD$AoSBNqKLA0 zRXHEqakljJfNu$TCiHxbjw(_0$yS)okRgh2zq9jOu)@s}68G4`$~J4Y^1aKa!4DY` zLLnzEm@2?mX|^syrM<AYczzZB*RAe#hgtZ=Z;z!{?JMt%xWABto^@<E*;>>)<%Kr| zP4j;IJ#Cfl8dlR894m4LZuutfsfgTC`0#D|PX(WlP$bFz?X;>`28Ub{=2-xsxK$dS zwi&Cz5gxuloo@O{(1JZpoqfbEDUXm#H9I#=T_I@uUY%D@?AQGcoNb)AYWeMNMC<iF z@ehqdjiR*Y0&5%o<V&6X_rKjNUaqGe5^5KvC9U3ppZb4G+HBO|(1o2Iy=1-7z$u^4 z&O&wuxHf*A>FO?@O4wKS{&}AyUbnYhYV_j9#LW7w+_6~o?(1XVGyauLQ5tkqQRo!^ zpD6lV{I<*ThmcLQ#w0zWC|{7{K=H5fdD{yc&eB{_tGfLCHh)M-3CmMDN`hfNo>->e z%PJeIP@&XB!7PrOZTSN|D)j;sR|KBnvRJ&hKi90@+i`ZBmSiW`@<UnXD89%4t5Lly z)Tpvgxn5-A^Nz_o!xuN`<52;y%*q-r^<77zknG9rHz!6$`q(}gWBPNCCI|~t?n5~$ z#Hy%Ty2i^y@iVYMUli<(!Ev!h{ptICo-`-zvhxRQqV1&#;A%37-81j8#-vR@ObZy= z&N1;BCqChP(3j@oz>Y+bw^iHa?+Rw~jwduGf$TpR@(Lp$Uz&nBj@UgL4J+<Z3ftJD zBb$Pt{I}DZ1ip^guJ{#CH7RG6gO~Bx2yBOX*mKS@*h#`FGA^2k^zN<@!L=i1k89@c zo(7IFOH->C8<Xd}w8s@Z)Fm)J&Ks-bsiK0XM1d38($y#2sXuAtpe_le_XqKgwK^kO zok{rx{z9~}fo@@bA%gk$cNaStmdinZy{+7&L0aVsbpajch?>{wQzmna{3nZ;%zx>E zgaw#!P-%aEPY_<k6zvNRG}6Q3o;i)tpHjVSGX+2f3~jZK`%CQpE-s|6$Zg5uVw$Ww zp%AeLVfLH*uIA6}RAJ^g#3sEN3K*3zJ=(iAfX3NNIDjr7lXofJDm+&Ax*c=e!Mj+k z&|9nBCpxVf2$1#}J{cu$UY~eDfe$M9W3OJm)*+drsb2ol0L`Lyi`LE?5d=(8&|>@m zT<iW6f%s0D*UrGkw!)=V{?N9{s9H)(0&^~cdH-?KvM*ViRsD42;T}jhmB#))l~IiD z`a8QzS%Ekva5pi1uSbSq*n_h04UbXoeY}($VJ~*6@Ke*mUG4HEOi~~r3vihx1zNW5 zT>epj+vZW*x0^JaLZ<5FS7h-DHcg<#vtbfS-fK2*U_*s?mALAWlaq7)mzCwoaF&P@ zrAami!LIA~wjPEzdD8%&X{GSTUvq0IYvt$Ami1LAP6#;t&b~zJBKZV-niV;_wko+B zPYr{C<DA4<sqzWzchVjlv36dE>&PEztX+2e>W23Iv7p`>4qQ3l+xl9I+VdFaXH^W7 z+g)BVUoH@D@bUHa+9Llr=6`+G6nOcw>9DReiB<7!_@CAAt=3&d-O$jE!_ye$2+g?m z#44+%0*92Jw*tHH?Cpo^Q^a#nUiu?;pOfB*RUMdcQ<>KVhzz|JdVE}>TmCem$D%KZ zzNgL7QhK`xp_8NV)x}Hm$+D6DVT72TN>|Bp*7M@4y9ZzsUiRD0U|&VgpEin@O$h+* z{OX;?oM!gs!v<LG&(CcX`9^7%%%FpIVl<c~SjGGI&Kucg2n6DgVJp>bsV0Ksg)}<% zzW+?prBOnJi%O8%Tctn8qq+Al1L|#;(sDYzjUJxIv@{f4NjQSEOjq#5wHszG(jKsG zWf<w7W^bY7uKzp^`7un+&Q9Q<w?`dVZMtkTI{`mS;3xdZ*e}A`apGXB`>?ZrXk~EM zb=JGLUokcwv$EJwbS2>o!pyNskpxgZ+Pq~{dbHk7z!b0&VM`eYZ**VmE9V+>7}=S| zWaaUBmc;waPDuT*Wc0Z;|Ax<#r6y>4Ff-)OUj1BqVEt?#?@&oH<GB#)#bUux&!Bb0 zv8(R6>uum3g&WLalxD6uWM0&1B&*LzUtznUE<xdDn0_+g_Zw%50I_%(E7eA$!a?Ku z&Y&zR#M@-?bXbG6|4)g!z+<OFQRzCbHT9Owmw7+lB~uabzl$Sos8o@Fp$xAKX%YMJ z;xQT=$%Q-X7y34QP+I;}>6DHcQ*JM&A)NHS-s<{3?aS$W(XxTUL<scrOzZWOHAQ=# zz{J|a5X#;+12>FP&zS1<6=DigWD{^gIHSKTQ~AWqOy7mn@=Eb*TZgWzKsTODQ=$Fr zUo}KGg=XvL-+xv0KmbR$G-zZR+ly7Q%_UTA1Um0*mUgg@k(QD(`T^XFf-rVz$Ox%D ziLerJvf+K66&0~(skCZ@YGi#b4m2C~YE|pM|GjJ#U20P52si|Ot@h$!6KTl-AzL}1 f{l5bS*NU;VZMBYL=|;Hs%7CVto@%wSedPZD9?owD diff --git a/assets/ui/button_resume_game.png b/assets/ui/button_resume_game.png deleted file mode 100644 index 2fe433b7d18a39880a14e3f0af18cb75c4ccbaed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3434 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 diff --git a/assets/ui/button_start.png b/assets/ui/button_start.png deleted file mode 100644 index 23c7a4f670de19ffac455d6c510c3c53653a048b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3058 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 diff --git a/fastlane/metadata/android/en-US/changelogs/70.txt b/fastlane/metadata/android/en-US/changelogs/70.txt new file mode 100644 index 0000000..e41f2c1 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/70.txt @@ -0,0 +1 @@ +Use activity buttons widgets from flutter_custom_toolbox. diff --git a/fastlane/metadata/android/fr-FR/changelogs/70.txt b/fastlane/metadata/android/fr-FR/changelogs/70.txt new file mode 100644 index 0000000..f58100d --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/70.txt @@ -0,0 +1 @@ +Utilisation des boutons d'activité à partir du package flutter_custom_toolbox. diff --git a/lib/common/ui/nav/global_app_bar.dart b/lib/common/ui/nav/global_app_bar.dart index d7589f2..6730c2b 100644 --- a/lib/common/ui/nav/global_app_bar.dart +++ b/lib/common/ui/nav/global_app_bar.dart @@ -22,17 +22,12 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { final List<Widget> menuActions = []; if (currentActivity.isRunning && !currentActivity.isFinished) { - menuActions.add(StyledButton( - color: Colors.red, + menuActions.add(ActivityButtonQuit( onPressed: () {}, onLongPress: () { BlocProvider.of<ActivityCubit>(context).quitActivity(); BlocProvider.of<NavCubitPage>(context).goToPageHome(); }, - child: const Image( - image: AssetImage('assets/ui/button_back.png'), - fit: BoxFit.fill, - ), )); } else { if (pageIndex == Screen.indexActivity) { diff --git a/lib/common/ui/pages/parameters.dart b/lib/common/ui/pages/parameters.dart index 4f76a4f..2a78f0f 100644 --- a/lib/common/ui/pages/parameters.dart +++ b/lib/common/ui/pages/parameters.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; +import 'package:puzzlegame/common/cubit/nav/nav_cubit_pages.dart'; import 'package:puzzlegame/common/ui/parameters/parameter_widget.dart'; import 'package:puzzlegame/config/default_activity_settings.dart'; @@ -9,9 +10,6 @@ import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; import 'package:puzzlegame/cubit/settings/settings_activity_cubit.dart'; import 'package:puzzlegame/cubit/settings/settings_global_cubit.dart'; import 'package:puzzlegame/models/activity/activity.dart'; -import 'package:puzzlegame/ui/widgets/actions/button_delete_saved_game.dart'; -import 'package:puzzlegame/ui/widgets/actions/button_game_start_new.dart'; -import 'package:puzzlegame/ui/widgets/actions/button_resume_saved_game.dart'; class PageParameters extends StatelessWidget { const PageParameters({super.key}); @@ -20,67 +18,92 @@ class PageParameters extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocBuilder<ActivityCubit, ActivityState>( - builder: (BuildContext context, ActivityState activityState) { - final Activity currentActivity = activityState.currentActivity; - - final List<Widget> lines = []; - - // Game settings - for (String code in DefaultActivitySettings.availableParameters) { - lines.add(Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: buildParametersLine( - code: code, - isGlobal: false, - ), - )); - - lines.add(SizedBox(height: separatorHeight)); - } - - lines.add(Expanded( - child: SizedBox(height: separatorHeight), - )); - - if (currentActivity.canBeResumed == false) { - // Start new game - lines.add( - const AspectRatio( - aspectRatio: 3, - child: StartNewGameButton(), - ), - ); - } else { - // Resume game - lines.add(const AspectRatio( - aspectRatio: 3, - child: ResumeSavedGameButton(), - )); - // Delete saved game - lines.add(SizedBox.square( - dimension: MediaQuery.of(context).size.width / 5, - child: const DeleteSavedGameButton(), - )); - } - - lines.add(SizedBox(height: separatorHeight)); - - // Global settings - for (String code in DefaultGlobalSettings.availableParameters) { - lines.add(Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: buildParametersLine( - code: code, - isGlobal: true, - ), - )); - - lines.add(SizedBox(height: separatorHeight)); - } - - return Column( - children: lines, + return BlocBuilder<ActivitySettingsCubit, ActivitySettingsState>( + builder: (BuildContext context, ActivitySettingsState activitySettingsState) { + return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>( + builder: (BuildContext context, GlobalSettingsState globalSettingsState) { + return BlocBuilder<ActivityCubit, ActivityState>( + builder: (BuildContext context, ActivityState activityState) { + final Activity currentActivity = activityState.currentActivity; + + final List<Widget> lines = []; + + // Activity settings + for (String code in DefaultActivitySettings.availableParameters) { + lines.add(Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: buildParametersLine( + code: code, + isGlobal: false, + ), + )); + + lines.add(SizedBox(height: separatorHeight)); + } + + lines.add(Expanded( + child: SizedBox(height: separatorHeight), + )); + + if (currentActivity.canBeResumed == false) { + // Start new activity + lines.add( + AspectRatio( + aspectRatio: 3, + child: ActivityButtonStartNew( + onPressed: () { + BlocProvider.of<ActivityCubit>(context).startNewActivity( + activitySettings: activitySettingsState.settings, + globalSettings: globalSettingsState.settings, + ); + BlocProvider.of<NavCubitPage>(context).goToPageGame(); + }, + ), + ), + ); + } else { + // Resume activity + lines.add(AspectRatio( + aspectRatio: 3, + child: ActivityButtonResumeSaved( + onPressed: () { + BlocProvider.of<ActivityCubit>(context).resumeSavedActivity(); + BlocProvider.of<NavCubitPage>(context).goToPageGame(); + }, + ), + )); + // Delete saved activity + lines.add(SizedBox.square( + dimension: MediaQuery.of(context).size.width / 5, + child: ActivityButtonDeleteSaved( + onPressed: () { + BlocProvider.of<ActivityCubit>(context).deleteSavedActivity(); + }, + ), + )); + } + + lines.add(SizedBox(height: separatorHeight)); + + // Global settings + for (String code in DefaultGlobalSettings.availableParameters) { + lines.add(Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: buildParametersLine( + code: code, + isGlobal: true, + ), + )); + + lines.add(SizedBox(height: separatorHeight)); + } + + return Column( + children: lines, + ); + }, + ); + }, ); }, ); diff --git a/lib/main.dart b/lib/main.dart index d1ba4ad..f19960e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -94,12 +94,7 @@ class MyApp extends StatelessWidget { final List<String> assets = []; const List<String> gameImages = [ - 'button_back', - 'button_delete_saved_game', - 'button_random_pick', - 'button_resume_game', 'button_shuffle', - 'button_start', 'game_win', 'placeholder', 'tip_hidden', diff --git a/lib/ui/game/game_end.dart b/lib/ui/game/game_end.dart index dc42e01..ca4ac26 100644 --- a/lib/ui/game/game_end.dart +++ b/lib/ui/game/game_end.dart @@ -1,9 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; +import 'package:puzzlegame/common/cubit/nav/nav_cubit_pages.dart'; + import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; import 'package:puzzlegame/models/activity/activity.dart'; -import 'package:puzzlegame/ui/widgets/actions/button_game_quit.dart'; class GameEndWidget extends StatelessWidget { const GameEndWidget({super.key}); @@ -19,26 +20,39 @@ class GameEndWidget extends StatelessWidget { fit: BoxFit.fill, ); + final double width = MediaQuery.of(context).size.width; + return Container( margin: const EdgeInsets.all(2), padding: const EdgeInsets.all(2), child: Table( - defaultColumnWidth: const IntrinsicColumnWidth(), + defaultColumnWidth: FixedColumnWidth(width / 3.1), defaultVerticalAlignment: TableCellVerticalAlignment.bottom, children: [ TableRow( children: [ - const Column( + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, children: [decorationImage], ), Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, children: [ currentActivity.animationInProgress == true ? decorationImage - : const QuitGameButton() + : ActivityButtonQuit( + onPressed: () { + BlocProvider.of<ActivityCubit>(context).quitActivity(); + BlocProvider.of<NavCubitPage>(context).goToPageHome(); + }, + ), ], ), - const Column( + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, children: [decorationImage], ), ], diff --git a/lib/ui/widgets/actions/button_delete_saved_game.dart b/lib/ui/widgets/actions/button_delete_saved_game.dart deleted file mode 100644 index be61ef5..0000000 --- a/lib/ui/widgets/actions/button_delete_saved_game.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; - -import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; - -class DeleteSavedGameButton extends StatelessWidget { - const DeleteSavedGameButton({super.key}); - - @override - Widget build(BuildContext context) { - return StyledButton( - color: Colors.grey, - onPressed: () { - BlocProvider.of<ActivityCubit>(context).deleteSavedActivity(); - }, - child: const Image( - image: AssetImage('assets/ui/button_delete_saved_game.png'), - fit: BoxFit.fill, - ), - ); - } -} diff --git a/lib/ui/widgets/actions/button_game_quit.dart b/lib/ui/widgets/actions/button_game_quit.dart deleted file mode 100644 index 9f6c6f3..0000000 --- a/lib/ui/widgets/actions/button_game_quit.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; - -import 'package:puzzlegame/common/cubit/nav/nav_cubit_pages.dart'; - -import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; - -class QuitGameButton extends StatelessWidget { - const QuitGameButton({super.key}); - - @override - Widget build(BuildContext context) { - return StyledButton( - color: Colors.red, - onPressed: () { - BlocProvider.of<ActivityCubit>(context).quitActivity(); - BlocProvider.of<NavCubitPage>(context).goToPageHome(); - }, - child: const Image( - image: AssetImage('assets/ui/button_back.png'), - fit: BoxFit.fill, - ), - ); - } -} diff --git a/lib/ui/widgets/actions/button_game_start_new.dart b/lib/ui/widgets/actions/button_game_start_new.dart deleted file mode 100644 index 77d2396..0000000 --- a/lib/ui/widgets/actions/button_game_start_new.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; - -import 'package:puzzlegame/common/cubit/nav/nav_cubit_pages.dart'; - -import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; -import 'package:puzzlegame/cubit/settings/settings_activity_cubit.dart'; -import 'package:puzzlegame/cubit/settings/settings_global_cubit.dart'; - -class StartNewGameButton extends StatelessWidget { - const StartNewGameButton({super.key}); - - @override - Widget build(BuildContext context) { - return BlocBuilder<ActivitySettingsCubit, ActivitySettingsState>( - builder: (BuildContext context, ActivitySettingsState activitySettingsState) { - return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>( - builder: (BuildContext context, GlobalSettingsState globalSettingsState) { - return StyledButton( - color: Colors.blue, - onPressed: () { - BlocProvider.of<ActivityCubit>(context).startNewActivity( - activitySettings: activitySettingsState.settings, - globalSettings: globalSettingsState.settings, - ); - BlocProvider.of<NavCubitPage>(context).goToPageGame(); - }, - child: const Image( - image: AssetImage('assets/ui/button_start.png'), - fit: BoxFit.fill, - ), - ); - }, - ); - }, - ); - } -} diff --git a/lib/ui/widgets/actions/button_resume_saved_game.dart b/lib/ui/widgets/actions/button_resume_saved_game.dart deleted file mode 100644 index 414cfa7..0000000 --- a/lib/ui/widgets/actions/button_resume_saved_game.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; - -import 'package:puzzlegame/common/cubit/nav/nav_cubit_pages.dart'; - -import 'package:puzzlegame/cubit/activity/activity_cubit.dart'; - -class ResumeSavedGameButton extends StatelessWidget { - const ResumeSavedGameButton({super.key}); - - @override - Widget build(BuildContext context) { - return StyledButton( - color: Colors.blue, - onPressed: () { - BlocProvider.of<ActivityCubit>(context).resumeSavedActivity(); - BlocProvider.of<NavCubitPage>(context).goToPageGame(); - }, - child: const Image( - image: AssetImage('assets/ui/button_resume_game.png'), - fit: BoxFit.fill, - ), - ); - } -} diff --git a/pubspec.lock b/pubspec.lock index a09de9e..59645ea 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -130,11 +130,11 @@ packages: dependency: "direct main" description: path: "." - ref: "0.3.0" - resolved-ref: b24e16ca0cf72bde23640c72020d5c9da2e00e62 + ref: "0.4.0" + resolved-ref: eb9c090bd00d73324eab8737f74b3339cc24c9e8 url: "https://git.harrault.fr/android/flutter-toolbox.git" source: git - version: "0.3.0" + version: "0.4.0" flutter_lints: dependency: "direct dev" description: diff --git a/pubspec.yaml b/pubspec.yaml index 1a9f74f..069cc2f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A puzzle game application. publish_to: "none" -version: 0.4.1+69 +version: 0.4.2+70 environment: sdk: "^3.0.0" @@ -16,7 +16,7 @@ dependencies: flutter_custom_toolbox: git: url: https://git.harrault.fr/android/flutter-toolbox.git - ref: 0.3.0 + ref: 0.4.0 # specific image: ^4.1.3 diff --git a/resources/ui/images/button_back.svg b/resources/ui/images/button_back.svg deleted file mode 100644 index 018d8b7..0000000 --- a/resources/ui/images/button_back.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path transform="matrix(1.3783 .61747 -.61747 1.3783 45.198 93.762)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" fill="#fff" stroke="#950e4f" stroke-linecap="round" stroke-linejoin="round" stroke-width="7.2832"/></svg> diff --git a/resources/ui/images/button_delete_saved_game.svg b/resources/ui/images/button_delete_saved_game.svg deleted file mode 100644 index c3f872e..0000000 --- a/resources/ui/images/button_delete_saved_game.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m76.652 23.303-3.6441 58.302c-0.28153 4.5103-4.0223 8.0241-8.5413 8.0241h-35.27c-4.5189 0-8.2598-3.5138-8.5413-8.0241l-3.6441-58.302h-5.4824c-1.7723 0-3.2093-1.437-3.2093-3.2093 0-1.773 1.437-3.2093 3.2093-3.2093h70.605c1.7723 0 3.2093 1.4363 3.2093 3.2093 0 1.7723-1.437 3.2093-3.2093 3.2093zm-6.8314 0h-45.979l3.0819 55.867c0.12535 2.268 2.0008 4.0433 4.2732 4.0433h31.268c2.2724 0 4.1478-1.7752 4.2732-4.0433zm-22.99 6.4188c1.6541 0 2.9952 1.3411 2.9952 2.9952v41.08c0 1.6541-1.3411 2.9952-2.9952 2.9952-1.6542 0-2.9952-1.3411-2.9952-2.9952v-41.08c0-1.6541 1.3411-2.9952 2.9952-2.9952zm-12.837 0c1.6756 0 3.0553 1.3181 3.1312 2.9921l1.8776 41.3c0.06665 1.4664-1.0681 2.7087-2.5345 2.7762-0.04011 0.0015-0.08024 0.0021-0.12108 0.0021-1.5595 0-2.8476-1.2193-2.9328-2.7774l-2.253-41.3c-0.08524-1.5646 1.114-2.9012 2.6779-2.9864 0.05157-0.0029 0.10317-0.0042 0.15474-0.0042zm25.675 0c1.5667 0 2.8361 1.2694 2.8361 2.8361 0 0.05156-6.87e-4 0.10317-0.0036 0.15474l-2.2416 41.088c-0.09171 1.6778-1.4786 2.991-3.1586 2.991-1.5667 0-2.8361-1.2694-2.8361-2.8361 0-0.05156 7.31e-4 -0.10315 0.0036-0.15474l2.2417-41.088c0.09172-1.6778 1.4786-2.991 3.1586-2.991zm-21.397-25.675h17.117c4.7265 0 8.5578 3.8313 8.5578 8.5578v4.2795h-34.231v-4.2795c0-4.7265 3.8313-8.5578 8.5578-8.5578zm0.42837 6.4188c-1.4184 0-2.5675 1.1491-2.5675 2.5675v3.8512h21.394v-3.8512c0-1.4184-1.1491-2.5675-2.5675-2.5675z" fill="#fff" fill-rule="evenodd" stroke="#050200"/></svg> diff --git a/resources/ui/images/button_resume_game.svg b/resources/ui/images/button_resume_game.svg deleted file mode 100644 index 2bf9732..0000000 --- a/resources/ui/images/button_resume_game.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-5.618)" fill="#fff" stroke="#105ea2" stroke-linecap="round" stroke-linejoin="round"><path transform="matrix(-1.3783 -.61747 .61747 -1.3783 55.567 -.086035)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" stroke-width="7.2832"/><path d="m15.535 12.852 2e-3 67.973z" stroke-width="11"/></g></svg> diff --git a/resources/ui/images/button_start.svg b/resources/ui/images/button_start.svg deleted file mode 100644 index 4d7634a..0000000 --- a/resources/ui/images/button_start.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path transform="matrix(-1.3783 -.61747 .61747 -1.3783 46.954 -.086035)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" fill="#fff" stroke="#105ea2" stroke-linecap="round" stroke-linejoin="round" stroke-width="7.2832"/></svg> -- GitLab