From c4478cce8553176aff8cd96c10bad75f3b3d4195 Mon Sep 17 00:00:00 2001 From: venbaittech Date: Mon, 23 Jun 2025 19:18:50 +0530 Subject: [PATCH] travelAgent-restriction --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 355 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 265 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 442 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 622 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 772 bytes assets/images/IconsImg/favicon_ts.png | Bin 0 -> 2220 bytes ios/Runner.xcodeproj/project.pbxproj | 4 +- .../AppIcon.appiconset/Contents.json | 123 +------------- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 7446 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 185 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 241 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 287 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 207 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 287 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 421 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 241 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 389 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 527 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 281 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 475 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 283 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 509 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 527 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 743 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 355 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 622 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 388 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 649 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 721 bytes lib/Screens/organization/orgSetup.dart | 20 ++- lib/Screens/plans/create_plans.dart | 6 +- .../createTravelAgent.dart | 156 ++++-------------- .../personalDetailsTravelAgent.dart | 122 ++++++++------ lib/app.dart | 6 +- lib/config/apiUrl.dart | 1 - lib/widgets/custom_text_field.dart | 21 ++- lib/widgets/custom_user_form.dart | 26 +-- pubspec.lock | 66 +++++++- pubspec.yaml | 6 + web/favicon.png | Bin 917 -> 2220 bytes web/index.html | 2 +- 41 files changed, 228 insertions(+), 331 deletions(-) create mode 100644 assets/images/IconsImg/favicon_ts.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png 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..7e1e703df00ee46d892b106bdade6bc29d35b702 100644 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2VAS$-aSW-L^Y*f#7qg>`+sFMD z9GN+nTUe#_1&eIC{gbov(~}KcH*D|`nbyJOR(`$r0c)Jmp}wQP50+Wi9B%epeEOy@ z&ze}DMb$F=wzE~2e!l$j!s1xlz7?w%rf*(yN&Lrq9u`#C#o`qz>%Lg+eL=O%*}FIY z{olVn@A1!nTKQ{27Mwi&e){777M3~}Zdb|iUl)%|wlhpqNT4&Eu+Mz{=}Xfsj^y2T kui5*qe!*S4zp3xpUy5o4nw^$90t`F`Pgg&ebxsLQ0OQP5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ 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..51ead20575ced530cdac6b9a768bde6e4a1af8cc 100644 GIT binary patch delta 248 zcmdnR+{rXSvYw5BfgzmfXFHI(;OXKRQZeW4d0VbS4gzftJ#VOWm?>qgjXRQDVU*4P zh*2kpRX2!J%TYwg)INpv_YBcvHC*?Zqu&~BUY~h(d34~UcH5I-$!iP!dh9vWq7MJb zj#hb*)mxk-b@v-9k3%xUtgMFXJG&)iU&&9KCz81Tmz{TCVbML^*s@h@Gaf!IeRZRK z;*VH|qFX1b42y65yvScKzi*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@UU~KesaSW-L^Y*T-pOd46+rxf? zlf9j-8<-z6t1L9~t`5_|4q<2cI9??mPB3r`e1DLS01q-s`KrO_zzopr0IQyw+yDRo 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-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..2c117c8ec2c9785bf6e6771eaf5b60661e0e3445 100644 GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farfyva<#WAE}&fD9DSt5xN4G-%} znYlJ@-zH?!@W9Zfp@P9*dEUXWJxxp1H*DNIA)Zb+tzp&ffR#*pGjiJ%;)Q kwZ^@FOEw;Ou>TYHQw8(Tu+JAuf$50B)78&qol`;+00te|h5!Hn 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-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..16e07acf91024f2b480003d5f37f1779a4c3f41b 100644 GIT binary patch literal 772 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zf+;U^?yT;uumf=j|QCED;BhhKHQ% z5@v~rO=AqMl;eNEY2$mK`9>uRw{Eg>8Jlasqy?@qcSVm{&EQQd`?;TgSzUkQ{FiBk z-#;#1-kkmW=f{LK`()0o=pl6v;;z3KgC$^Grm zUX|TT`o?51nZZMtA(KhLmthHKg9+mVHHJ$p4zoxSJh1Fq{rPRPe^o!OdY$jVARQ%B zCs+OZ^v&#;%+hW4)70CG+v4N)$jZmr%{KmXpEJR^TyD;P%iC{`zx>V6wZ}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/assets/images/IconsImg/favicon_ts.png b/assets/images/IconsImg/favicon_ts.png new file mode 100644 index 0000000000000000000000000000000000000000..53caf6a6452581615060f460cd610afc4f4a0030 GIT binary patch literal 2220 zcmeAS@N?(olHy`uVBq!ia0y~yU=n3uU|ht(1{4W6Y@!FGI14-?iy0WWg+Z8+Vb&Z8 zpde#$kh>GZx^prwfgF}}M_)$E)e-c?47&sg~T^vIy7~kI7n&8|317~S7XAk{N10E$KThQ9Wc9=`mXM_ zeBhp{ZU1c;)ZfzhcABAIKy<@aXP-6sVJh603$0_kuNNqC*t%x-&)3hM-nkcZe$kD-xhooaZU26`YV-F=y7isK z+s^HZe)eqk`RD&${Z-sD`}*fkyVpPaE`I;q-@QrJML<)xy(!R zvsbU4ZK=ZM?i+I8nOOG4i`5k~4i#Qjn>T0X9pQ&7I2k-TxEK@^wHO*&RxmIKEn*rK z7!8lnY^k;82?2Pq&(P=Tibgvx4zx#RdqPy=N zp1yE{%(Jh+dVo(oai;!!dwB-A?~mDkPd{8?D{^mU{qs-DZ^x(Y`(JEP^`AlYR+Q_5 T<2loSjSB`(S3j3^P6N?p)aLt~Mo zGO2ukr{18j;RD=8s8h}#R|Z8eTAD@JR?{oYG?OEN)2oteJ3B+|$bjVv z8Ze7jO&DV#PC#O}+Rp;S7v(m1NSyv%E)1k@1<-s+v->-wEy1o5#9fQ?W9#qhV}N&@ z7Y-c$K`hb-Shqg`=i@HJ65J&RFzyQd;r0UR5;Pc)FnA~U&{&3ScsO#otYr>Jz6x`P zTLK3_GP2hm3YuC3m<$~?M)-_AOOV}l=}xlbRRYpytCvsB0cIqEUPq(yyEGAx#}gzl zBD5ciMl7<#0a)xXtT`mCDyjJ7wMV!HY2(zL@fBS*4((+fvf_ zaOAfepV!|Q%OYp=ituCAeV5;^i&vRutN1jXkvQ?1D6P*a^__ff-g=EzNh8(B=MfD1 zS}g%of}uZz?j#tjj@|T|bx!STWOMj|aqS&CtB}ksr;k+=j~ujWS0j^86jyCm6joUK z5mwCXNh43?`GW0`Ll@U$6_4qZZEe+t!CN|=b(_ug)(qpI_^-@)hL9C%8N)P!i*G5y zXmrtC9p&{c;tJD!92j#1))kO8GcId(n&}fx2VM8lLC+GCuYH7-ENT1`t7%teXl0$& zs0D+exm#=oFUjJ=1-yHT)%{lf?#z~o(P^gL8qB2)$xVCmsswh|&jpm3qpIl%1IuBe z97r!0<3M;CIgHk_qLlgNNAs|X7M8AI4J%1R6XYv(FJBVrs*o8U5LUYfMZM9!E>k~< z9a6_Cnq-A(`ZtAD4RpHSQX&}x9B$TQ?@yvF%&*HvJ4P6KwV4u!Ltqt_=%G2cJJ;2` zQhO0e97aheUZ}EJqOIcsQkK*5{jTYb@As6WK!KToW+JV={nWn7jP% z8j_U$McFyt7*{{p)Y}$(cTZ8k)pf{@BHIH?vwkr&)#mqIHtt-yt0yA6V>l5YdI5J? zbyfSr6ZxmtfDM@llG9%Z2Bu2$^%t+c@ZT(5MY^S9ct&kRY%m`UXK(eEX>0BY?W$LI zhbQIh&m9}3zVW80>&OVlPcYYxg|3V_(!51%>cijS&-5SGjYmYLG!bWF_NU||iqxtD zj#o=~TnBr{2ho>g&Kcg|KP&!_KCF*78Dax(^0nVK9bFE$Yga*9s>59I%+&fkw}9`w zoj=LlPd%wnitlj&_HGzq8H!Sh&(Mp_=bJY_@q#Go`*3CQ@Fqr=niXK~J6UXcbitE7 e3waWT+0z*NmF)I~-VtF)3zFBTCf!`O_t@W9(Q_XF literal 10932 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 797d452e458972bab9d994556c8305db4c827017..f9563c2b7090e76180669e8aeeb46fae78251b8d 100644 GIT binary patch delta 224 zcmbQn{E=~jWIY=L14GZh9l1biho_5UNX4AD=Qi>k43Iebaq)Mzb}t?!!;O*^yz6h? z431D)c8vRm)GiP9SdDep^mGrujD7Owy8ib&^LrnKaxE${KdvonEF8c2pvD{{=DisV zEr;K^$VcX%mQ_`_{h#^wY2i0I`FpSH9jM)%VVCCF^Jl|HE|bW~Ol+>!9};ghPET&i z+5e5}%iM+>rcInD)D&jpVx+BJZC(BMVI=dqoPDA1zP+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g5L$#q5uE@ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 6ed2d933e1120817fe9182483a228007b18ab6ae..b62dd20412eefdec9db6e843d4c36dc618bdc3b3 100644 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8&pcfmLn`LHJ#WZ$$U&g>VdI)! zj;>x07Vc_p{Rbb{*fyAdWD?8V8tB;4p>b%D%cS1G4Ooi|E#OFeOPYvIR^SKjiuRrGy4gSis|5!o^kK6Htl6%d~eN%50EU)@(v1N&c z>Hheh#WQyt$@=$AE~jex_lq9l%qLH=tbZ=NQ`US{ZOCkf1OqF!#mQt4yZ&?QT538Gi!+000dlDL?=K0EAFXR7L;)|5U~JDYo_jSDRPH_*uvJ?fL$s z;QQnD{*>GM-ShrilfUZt{^9lhT*&z4_x{-O{Rv#2V9EI}xb^~1iQe@7)8g(7UZ4B@ z|4zgB>+<*9=;^^)>d)H7pzGjuM>Jnezy3`@G2r z?{~a!Fj;`+8Gq^x2Jl;?IEV8)=fG217*|@)CCYgFze-x?IFODUIA>nWKpE+bn~n7; z-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGrXPIdeRE&b2Thd#{MtDK$ zpx*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{HY|nMnXd&JOovdH8X7FNSi0C8&YH$2=KcTwpWlsI pYJdM8J@8>V=fVHqe;ey9W!TA~ZhX0`@($3644$rjF6*2UngB9rS+@WH delta 266 zcmV+l0rmdR0h$7k8Gi!+003c4mpuRg09{Z_R7L;)|5U~JDYo_jSDX9(|7FYh`2GLd z^Zv2r{H^2sT*&w!Y^SB+`<>qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6 Q00000NkvXXt^-0~f-9GW!TM$U&g(A!nqZ z*ik)>IE4qAHjU<+KTE|ORJsw_HJ2mIaY6!%p?BSyTpr~}X8HTU?|DA6CB3OC6!2eF zqU0*{J8FH>p_y}kN8P)UEGYdG$opmYAYP)YZDEGQt(ni-XD;|{yr-=#P_Jxf_}M*^ zB3|Wu`Fru}j)|Ykmfn1AY9cXB$nX8Gg^pMMEjtmsb8gwJt$*Av8i?>ZlR?b*^-!-? n{^P=mt{v0f$M5pl{f$@cx7zB;xWp=;j~P5&{an^LB{Ts5xOa51 delta 447 zcmV;w0YLtr0?q@F8Gi!+007oyx*7lg0G3cpR7L;)|5U~J0au$Tw)URh`@-w}Xw3Np zS)Ix4{k7)&ujKrh-TO(x_}20L&+q+}+xr1ilg8}*yXgGl_5RcF{f*iBEV%Z~-t4>5 ziGV;=={^- z?sLQGb)?A{hr$_!z8HbH7kH=vM0x-*R~t>;jsO4v^GQTOR7l6|(&r9>FcgO2dg?%> z;=sK?5%;?Pn^T7LL?Y$@5u?06NuIR*0?Yf$Hf5Afk+lM<^ch*jvO$sU*m9J?JI7eI zGFV6+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9R%3*Q+)t%S!MU_`id^@& zY{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&p6kME1_Z%?`+u)^el0!1<0sd p?Eyu!OMLDifi)An*I;?S-wj=m4RYIt!kPd8002ovPDHLkV1n$+^b!C7 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 321773cd857a8a0f0c9c7d3dc3f5ff4fb298dc10..7ce0d7bf8ad20bafb64f01fbbcdf205b444a04a4 100644 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^;ULVx1|$nl+{|HMV9fD!aSW-L^Y((Rm$RdU+e3Ye zKp)K}7H#R-BG>W`#@^h)XFf6L&6>A5Ns~h+HT*AFyi={|0h8XD#I^#t8K0!%{BG^H zk#|?U^)hjdT%Y&(6KYF0H+NrB{F^E!?!@_E8kmFwGx8kp*8iXT0<7SIDuur#x%#yY{!&i`Vh)H@T{L>kH$@ RUBKXH@O1TaS?83{1OWEG!lwWL delta 691 zcmV;k0!;m-1Hc848Gi!+002f7DP8~o0Jl&~R7L;)|5U~JDYo_jSDX9(|M~s@SH}2N z#rS{J`h3&+@cRDr`1>4br2|=<_Wb|z`~RBV`-<24{r>;E==`tb{CU#(0alua*7{P! z_>|iF0Z@&o;`@Zw`ed2Hv*!Fwin#$(m7w4Ij@kM+yZ0`*_J0?7s{u=e0YGxN=lnXn z_j;$xb)?A|hr(Z#!1DV3H@o+7qQ_N_ycmMI0acg)Gg|cf|J(EaqTu_A!rvTerUFQQ z05n|zFjFP9FmM0>0mMl}K~z}7?bK^if#bc3@hBPX@I$58-z}(ZZE!t-aOGpjNkbau@>yEzH(5Yj4kZ ziMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_stABAHe$v|ToifVv60B@podBTcIqVcr1w`hG7HeY|fvLid#^Ok4NAXIXSt1 Zxpx7IC@PekH?;r&002ovPDHLkV1lGiYd8P^ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 797d452e458972bab9d994556c8305db4c827017..f9563c2b7090e76180669e8aeeb46fae78251b8d 100644 GIT binary patch delta 224 zcmbQn{E=~jWIY=L14GZh9l1biho_5UNX4AD=Qi>k43Iebaq)Mzb}t?!!;O*^yz6h? z431D)c8vRm)GiP9SdDep^mGrujD7Owy8ib&^LrnKaxE${KdvonEF8c2pvD{{=DisV zEr;K^$VcX%mQ_`_{h#^wY2i0I`FpSH9jM)%VVCCF^Jl|HE|bW~Ol+>!9};ghPET&i z+5e5}%iM+>rcInD)D&jpVx+BJZC(BMVI=dqoPDA1zP+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g5L$#q5uE@ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 502f463a9bc882b461c96aadf492d1729e49e725..4284a47881e79a13a5f4b51a73de3f33a93145bb 100644 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdoh8VD#~HaSW-L^Y(^e7E_>z!^QMJ z9wLI=igQypah#RfwBF>VtJ$OpUTcDOFnKCEddkQ=I+MbCSacur_b>1FAJ?syva{dk z?)EiL=IL?gbHWp*yi@OI<(f_JqRe~mED2L>;L Mr>mdKI;Vst03h>;uK)l5 delta 572 zcmV-C0>k}<1Ih%D8Gi!+006nq0-pc?0H{z*R7L;)|5U~JDYo_jSDXF*|5nEMy6F5^ z$M}8I`uzU?*Yf=uXr;5|{0m;6_Wb|A>ik^D_|)+I$?g3CSDK^3+eX0mD!2CP`2NN0 z{dLg!a?km&%iyTt`yiax0acdp`~T(l{$a`ZF1YpsRg(cvjDG_-U$Er-fz#Bw>2W$eUI#iU z)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G!hkE!s;%oku3;IwG3U^2k zw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn_j%}l|2+O?a>_7qq7W zmx(qtA2nV^tZlLpy_#$U%ZNx5;$`0L&dZ!@e7rFXPGAOup%q`|03hpdtXsPP0000< KMNUMnLSTZDx-|s= diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 0ec303439225b78712f49115768196d8d76f6790..e7d6cf8a4f5ab3bc8701408a0a04e6559e8c668e 100644 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FkbU?aSW-L^Y*f#7qg>`+sFTp z5*%zA#5Zi)u<4_e*tB~GK36awJY?KawoT6Af>Vcr%8avqZceuvT+?p8dHgpaadkf1 zy}Vg>=G{L!V`|6I)0sz%cxxx`ox-Q@pVzkUh@Y3s?>ezmJIP;a)hEx(ojXv#)@E!l zr|}^VPkMp{^I=H|3?W0N<$EfBg(xY>U%4G!xJilP~NA^6WzV-8zXDz#){ONn( znfLmyc=y@H9Dn{gdGEou$K)&4KHo9hSnGXhrD*PJ`89VXFwMnc)le7GE0y28e4)M} s+f#M-GyAUPi(Z@6@iZwa@kM<7()C8>J?mvdff3E%>FVdQ&MBb@08f|JL;wH) delta 850 zcmV-Y1Figz1l|Ua8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck( z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f(W(At^fc4 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ab81d94cd66562da4b60cb83c62f36f53f1e2e1c GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nET2c9mDAr*7pUa{pmJfURE^pctmtLj)D*YlNM8?V-AEkA3NHtnxl%vtXG)py#mjHNTVoG%!#@Dfi{ r>=ikFEU*5aOV_OJSH9bpU19eO)I9Y1uFfu?Ul}}I{an^LB{Ts5Mo4nR literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd141899dd73596b9bf812b1aa0c2f6959cec8f GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^DImzr zT{lhk+U(}su*b6F>swEk;OdkAJzjo!vFBUIejfRD!PAv*yeEcKH`Ez(^f)H)FeM8} zG#`*)Ii_I1)@TS9s+;iM{oa-7^>5$K?y!;k|Mx=q#P)ShmfUDnnEX;LO}zYQ^_ut3 zKmM$+`FG&+;ZU1ceXqQ(SPmiHFZLdCMLFA@UvB=RP>p6L7HbBxklNSvZ#RAGkot7H m+GV#?{etXxuXjH`vaaRUyKy7B^cOJF7(8A5T-G@yGywpMF|8^9 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5bfb2b782d99d113b6f03f6a80bdcaf6a2e9f0c4 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^mLSZ*1|)kVnp=U?BTpB{kcv5PFWYh*au8^H80ov! z*TMU(XwKe-x$T?3IywCksbbu{_OZXvp*5`>VTIz6%=7Ovzidm4JCs(o-_lFzYog|> zPa&_HQyI=|g4yy!iJ$;U8}uoiowo zQl7Wq=Z7!M-)8FhZhRrXYe!JmU8`q(N9v7i47yhJOFp0NauBSUMB=~T%Ft@LUmfE0 kt6gtp{|_iH-&if5AfnkhX?ey(pl=yGUHx3vIVCg!0LnRb&Hw-a literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f429496d9a7c6229e599ceb8677072fa31c6accc GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^MIg+<1|<9Mw$?H*Fdp%AaSW-L^Y*f?A9J9D+r#w+ ztlaA=0!~z!9p+0gl$h3##G9d`$Z= z&aBgmGvfT(<{3&IJ$Up{(F?))Kzsc~k@NX&lTEr7vTN`=J4px~njp~DVxZEZsK~>a z=)r+1v`o54-&G{HpMOb5nZ43kqdBi$y|}erX7#q2IVXO;)OwblZ@X{8qsMiUZ(mh> z4}SXC*XC~Q^N6iyQ=E_K9QOaIztVf-O_N$X!@CoH9mHo37ORJlP}j0Ga&2;kewvql m*)CdDZvQoM@3V+6v-5M;8UKwaESwCCRt8U3KbLh*2~7Y=Cb2F6 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index 0ec303439225b78712f49115768196d8d76f6790..e7d6cf8a4f5ab3bc8701408a0a04e6559e8c668e 100644 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FkbU?aSW-L^Y*f#7qg>`+sFTp z5*%zA#5Zi)u<4_e*tB~GK36awJY?KawoT6Af>Vcr%8avqZceuvT+?p8dHgpaadkf1 zy}Vg>=G{L!V`|6I)0sz%cxxx`ox-Q@pVzkUh@Y3s?>ezmJIP;a)hEx(ojXv#)@E!l zr|}^VPkMp{^I=H|3?W0N<$EfBg(xY>U%4G!xJilP~NA^6WzV-8zXDz#){ONn( znfLmyc=y@H9Dn{gdGEou$K)&4KHo9hSnGXhrD*PJ`89VXFwMnc)le7GE0y28e4)M} s+f#M-GyAUPi(Z@6@iZwa@kM<7()C8>J?mvdff3E%>FVdQ&MBb@08f|JL;wH) delta 850 zcmV-Y1Figz1l|Ua8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck( z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f(W(At^fc4 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index e9f5fea27c705180eb716271f41b582e76dcbd90..2907f6174db31e8510f9f651bc6d1aa9676e5882 100644 GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWiw)6U|Q$t;uumf=j|QCERjT+_J{d} ztgM`2NvbnWeXd~ee~`(NpO~DTp19oH!yuI<*25v7dH14-t{x@h$EQCZxbk0KKHv8C zYkqkfxj)yge_p)tzO1foGv_vQIa&M2sw1~*>uPQG?b*5i3y<23zKu6^Y?Hq3+dm=w zmwwK4Ifnm}7I+GpXf~<2URc60OT=-qQbrJqZx^wGwnra6-yXL4KlAeqx2_9(VYyu` zf9%<_tCx)H9vZCkd*Ao>=iAEj@BHTVp5DIxnXOgt0`(nb&mSG%?)Llc+MmsJ^}mYd z?5VJNe=(EA_GHxm?DB|@+fvDJ2JsFaRY_D_pZfOd%cGx{lz&wJ{#>3M^DceQ4#~%t gk8hUb|2Hwe-qbjPf7Z-AU;<|FboFyt=akR{0ChVdv;Y7A delta 1668 zcmV-~27CGE1&R%j8Gi!+000UT_5c6?0S-`1R7L;)|5U~JDYo_jSDRJE`2GI>`u+b> z#Q0do`1}6<{Qdq#!1wR$2T#*AweE>Ub09v4>;QIg_I^_2LtK$20(D{zn_^HL*3Rj70 z%=tLH_b#{gK7W9-03t&#zyHMQ{FK}Jd(rva=I|w|=9#+Ihp*3ip1$;$>j3}&1vg1V zK~#9!?b~^C5-}JC@Pyrv-6dSEqJqT}#j9#dJ@GzT@B8}xU&J@bBI>f6w6en+CeI)3 z^kC*U?}X%OD8$Fd$H&LV$H&LV$H&LV#|K5~mLYf|Vt-;AMv#QX1a!Ta~6|O(zp+Uvg&Aa=+vBNz0Rs{AlWy-99x<(ohfpEcFpW=7o}_1 z>s&Ou*hMLxE-GxhC`Z*r>&|vj>R7LXbI`f|486`~uft__uGhI}_Fc5H63j7aDDIx{dZl^-u)&qKP!qC^RMF(PhHK^33eOuhHu{hoSl0 zKYv6olX!V%A;_nLc2Q<$rqPnk@(F#u5rszb!OdKo$uh%0J)j}CG3VDtWHIM%xMVXV zmTF#h81iB>r55Is`L$8KI@d+*%{=Nx+FXJ98L0PjFIu;rGnnfYn1R5Qnp<{Jq0M1v zX=X&F8g4GYHsMFm8dDG!y@wy0LzrDkP5n}RZ}&a^{lJ!qV}DSMg`_~iho-+ zYhFY`V=ZZN~BQ&RAHmG&4 z!(on%X00A@4(8Rri!ZBBU(}gmP=BAPwO^0~hnWE5<&o5gK6CEuqlcu2V{xeEaUGt9 zX7jznS5T?%9I4$fnuB2<)EHiTmPxeQU>*)T8~uk^)KEOM+F)+AI>Y`eP$PIFuu==9 zE-`OPbnDbc|0)^xP^m`+=GW8BO)yJ!f5Qc}G(Wj}SEB>1?)30sXn)??nxVBC z)wA(BsB`AW54N{|qmikJR*%x0c`{LGsSfa|NK61pYH(r-UQ4_JXd!Rsz)=kL{GMc5{h13 z8)fF5CzHEDM>+FqY)$pdM}M_8rrW{O4m<%Dt1&gzy8K(_+x-vIN$cs;K#LctaW&OA zAuk_42tYgpa$&Njilse`1^L+zfE<)2YpPh<)0mJ;*IFF|TA%1xX3fZ$kxPfoYE=Ci z)BrMgp=;8Y9L43*j@*RFlXvO-jQ`tkm#McyC%N^n#@P}`4hjO2}V z1RP0E%rxTfpJbnekUwBp-VB(r604xuJ$!t8e0+R-e0+R-e0+R-^7#e&>dm?Lo++vT O0000`+sFMD z9GN+nTUe#_1&eIC{gbov(~}KcH*D|`nbyJOR(`$r0c)Jmp}wQP50+Wi9B%epeEOy@ z&ze}DMb$F=wzE~2e!l$j!s1xlz7?w%rf*(yN&Lrq9u`#C#o`qz>%Lg+eL=O%*}FIY z{olVn@A1!nTKQ{27Mwi&e){777M3~}Zdb|iUl)%|wlhpqNT4&Eu+Mz{=}Xfsj^y2T kui5*qe!*S4zp3xpUy5o4nw^$90t`F`Pgg&ebxsLQ0OQZb+tzp&ffR#*pGjiJ%;)Q kwZ^@FOEw;Ou>TYHQw8(Tu+JAuf$50B)78&qol`;+00te|h5!Hn literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 84ac32ae7d989f82d5e46a60405adcc8279e8001..973441cd1c9451d384983c42f5990f6d85bd0f81 100644 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^J|N7&1|*M957cI0VD$EMaSW-L^Y)Ux7qg>C!^iDb zVoepy8wI2J70lw4&Ar~n+BmQry>!ZMuYiX^eYwt?HQ#3I&TD+ne);X0+keYW{rvJ! zbyAJ}eb+Z$*M6uiy%TqDxz9Smk5!@@Exjf0zuHmv-af(LM8brF3eApe%{*+9JVp{z zq}Eu!T|Dp0TlOpO%6aSdeGBBj{jG84!Cf8QCv_Gv%l|q4>#bUu{Pn};I?py&)K}%m z&8R(m>_}E{_M7j@>q^QtD5szsNoRqlAGZEGQ`Z?*y0hzsPFwzsbg;Ps8|O$@u8^{Z_{KM!@$5TAfS6_e#O{MZfpz`2O`0$7~@NRr(1{THzH08y3x{{PYM{eL;T_A9^tcF_4Sxb`8l z_9V3RD6;a(-0A^Pjsi!1?)d#Ap4Tk3^CP0(07;VpJ7@tgQ}z4)*zx@&yZwC9`DV-b z0ZobH_5IB4{KxD3;p_6%|f=bdFhu+F!zMZ2UFj;GUKX7tI;hv3{q~!*pMj75WP_c}> z6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FMs~w_u?Av_yNBmRxVYrpi(M% zFMP21g+hmocQp3ay*Su=qM6He)*HaaTg$E^sym`(t%s3A)x!M+vfjXUBEpK6X9%iU zU!u9jj3(-$dM~sJ%Liy#?|+!6IY#MTau#O6vVj`yh_7%Ni!?!VS+MPTO(_fG+1<#p zqu;A#i+_(N%CmVnYvb>#nA{>Q%3E`Ds7<~jZMywn@h2t>G-LrYy7?Dj{aZqhQd6tzX%(Trn+ z)HNF}%-F{rr=m*0{=a;s#YDL00000NkvXXu0mjfLq3?Q diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index 8953cba09064923c5daf2d37e7c3c836ccdd794b..1f63be3638c0df0313e8739759dab27c044d7168 100644 GIT binary patch literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^GeDSw4M<8HQcz@IU<&YbaSW-L^Y*rFmq?fLO9x2op*%}d@o4?jFQXi>K(0wmVE@utq+BPV13SFZbT z**`a`it*g+10I|`Q-~+lns0b%aI7pY@8A2wlP&-KJ^u5yg%+mi4p1h^`?EL4#H)Zy}9qYH>J7B@tI8jJK zbCe)03|40T|Mq$H(&-V4A20ta5r41WaNT0g*@pY-_jbkoJ734R*22))CDFPan8X-7 MUHx3vIVCg!0ICJ`)&Kwi delta 1217 zcmV;y1U~zT1&=UXv0SHh`R7L;)|5U~JDYo_jSDRDC`1<|-SjPDL z{{Q{{{{H{}09Kk-#rR9Y_viNgVafPO!S|ls`uzR=MZfp^{QU=8od8La1X`Tr_Wmff z_5e$ivgQ1@=KMy$_g9a+`TPAle6cOJ_Fc#L7qIpvwDkd1mw$fK`6IOUD75rX!}mad zv(fMTE4=(Nx%L54lL1hVF1YpqNrC`FddBPg#_Ietx%Lrkq5wX00X1L{S%Cm9QY*av z#_Rh5PKy9KYTWbvz3BX9%J>0Hi1+#X{rLA{m%$Kamk?i!03AC38#Yrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`?TG`AHia671e^vgmp!llK zp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?tc*y?iZ$PR7_ceEIapF3KB14K0Pog?7wtd+^xgUCa_GVmlD z<^nU>AU_Yn-JU?NFdu|wf^bTCNf-wSBYVZltDdvGBln-YrbeGvJ!|s{#`gjN@yAMb zM6cjFz0eFECCsc|_8hTa3*9-JQGehksdoVP^K4m?&wpA~+|b%{EP5D-+7h)6CE; z*{>BP=GRR3Ea}xyV*bqry{l^J=0#DaC4ej;1qs8_by?H6Tr@7hl>UKNZt)^B&yl;)&oqzLg zcfZxpE?3k%_iTOVywh%`XVN-E#COl+($9{v(pqSQcrz=)>G!!3HeNxbXGM@})1|9g zG4*@(OBaMvY0P0_TfMFPh fVHk#CZX3S=^^2mI>Ux-D00000NkvXXu0mjf%UgqZ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..bd619b0cdb003cc5c1f8bf0355aa4f817c0b0390 100644 GIT binary patch literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^%R!if4M>)V`MhCZV4C6S;uumf=j|QaE|EZyhKtuP z=r*OXsktR3HU4Q3?Vei}5)yegR)qRn_3yc2byxCVbFY$)sk;(VSx@_hk1=#M{mJ_dl^+@VUL$_S!T5rs~SZ%_$+(HN?AnR3$ui*KW_Z-xpQI uxz2p<{N9f*Z}UtJ`@Qk@dBYb8_KczK=96kyE64(qDubu1pUXO@geCwqB0c5+ delta 1410 zcmV-|1%3L_1&Rxh8Gi!+002YCyxsr+0P|2xR7L;)|5U~JDYo_jSDRDB`2GI>{Qds= z{r_0T`1}6fwc-8!#-TGX}_?g)CZq4{k!uZ_g@DrQdoW0kI zu+W69&uN^)W`CK&06mMNcYMVF00dG=L_t(|+U?wHQxh>12H+Dm+1+fh+IF>G0SjJM zkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJTkdTm&kdTm&kdTm&kdP`e zsgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>VI$fQI%^ugM`#6By?GeadWcu z0gy9!D`m!H>Bd!JW(@avE8`|5XX(0PN}!8K>`dkavs;rHL+wy96QGNT=S@#7%xtlm zIW!++@*2zm-Py#Zr`DzqsLm!b{iskFNULSqE9A>SqHem>o31A%XL>S_5?=;V_i_y+ z(xxXhnt#r-l1Y8_*h`r?8Tr|)(RAiO)4jQR`13X0mx07C&p@KBP_2s``KEhv^|*8c z$$_T(v6^1Ig=#R}sE{vjA?ErGDZGUsyoJuWdJMc7Nb1^KF)-u<7q zPy$=;)0>vuWuK2hQhswLf!9yg`88u&eBbR8uhod?Nw09AXH}-#qOLLxeT2%C;R)QQ$Za#qp~cM&YVmS4i-*Fpd!cC zBXc?(4wcg>sHmXGd^VdE<5QX{Kyz$;$sCPl(_*-P2Iw?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF34$0Z;QO!J zOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUCUoZo%k(yku QW&i*H07*qoM6N<$f_Z$+4FCWD diff --git a/lib/Screens/organization/orgSetup.dart b/lib/Screens/organization/orgSetup.dart index 08d046b..36d9396 100644 --- a/lib/Screens/organization/orgSetup.dart +++ b/lib/Screens/organization/orgSetup.dart @@ -583,16 +583,18 @@ class _OrgSetUpState extends State { isDesktop: isDesktop, breadcrumbItems: [ BreadcrumbItem( - title: 'Organization Settings', - tooltip: 'Go To Organization Settings', - onTap: (context) { - context.go("/OrganizationSettings"); - } + title: 'Organization Settings', + tooltip: 'Go To Organization Settings', + onTap: (context) { + context.go("/OrganizationSettings"); + }, ), BreadcrumbItem( - title: selectedOrg != null && selectedOrg!.isNotEmpty - ? "Update Organization" - : "Create Organization", + title: + selectedOrg != null && + selectedOrg!.isNotEmpty + ? "Update Organization" + : "Create Organization", ), ], ), @@ -991,7 +993,7 @@ class _OrgSetUpState extends State { case 'train': return Icons.train_outlined; case 'bus': - return Icons.bus_alert_outlined; + return Icons.directions_bus_rounded; case 'taxi': return Icons.local_taxi_outlined; case 'accomodation': diff --git a/lib/Screens/plans/create_plans.dart b/lib/Screens/plans/create_plans.dart index 8a32d7d..1070859 100644 --- a/lib/Screens/plans/create_plans.dart +++ b/lib/Screens/plans/create_plans.dart @@ -3405,7 +3405,7 @@ class CreateNewPlansState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - "Reason For Exceptional Class *", // Your label + "Reason for travel policy exception*", // Your label style: GoogleFonts.poppins( fontSize: 12, fontWeight: FontWeight.w600, @@ -3422,6 +3422,7 @@ class CreateNewPlansState extends State { ? MediaQuery.of(context).size.width * 0.42 : null, isDesktop: widget.isDesktop, + hasError: validationErrors["exceptional_plan_reason"] != null, child: SizedBox( height: 55, child: TextField( @@ -3432,7 +3433,7 @@ class CreateNewPlansState extends State { style: TextStyle(fontSize: 12), enabled: !widget.isViewMode, decoration: InputDecoration( - labelText: "Exceptional Description", + labelText: "Reason for exception ", labelStyle: GoogleFonts.poppins( fontSize: 12, color: Colors.grey, @@ -3440,6 +3441,7 @@ class CreateNewPlansState extends State { // labelStyle: TextStyle(fontSize: 12, color: Colors.grey), floatingLabelBehavior: FloatingLabelBehavior.never, border: InputBorder.none, + contentPadding: EdgeInsets.symmetric(vertical: 1), ), ), diff --git a/lib/Screens/userManagement/create_traveller_agent/createTravelAgent.dart b/lib/Screens/userManagement/create_traveller_agent/createTravelAgent.dart index f5a5536..42896e0 100644 --- a/lib/Screens/userManagement/create_traveller_agent/createTravelAgent.dart +++ b/lib/Screens/userManagement/create_traveller_agent/createTravelAgent.dart @@ -11,7 +11,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; - import 'package:frontend/utils/auth_utils.dart'; import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; @@ -36,10 +35,12 @@ import 'package:universal_html/html.dart' as html; class CreateTravelAgentFormDetials extends StatefulWidget { @override - _CreateTravelAgentFormDetialsState createState() => _CreateTravelAgentFormDetialsState(); + _CreateTravelAgentFormDetialsState createState() => + _CreateTravelAgentFormDetialsState(); } -class _CreateTravelAgentFormDetialsState extends State { +class _CreateTravelAgentFormDetialsState + extends State { final ApiService apiService = ApiService(); final GlobalKey personalDetailsKey = @@ -92,7 +93,8 @@ class _CreateTravelAgentFormDetialsState extends State?; - // - // if (extraData != null) { - // print("extraData: ${extraData['selectedUser']}"); - // - // setState(() { - // // apiCountryData = extraData['apiCountryData']; - // // apiUserData = extraData['apiUserData']; - // // - // // userList = apiUserData ?? []; - // // userMap = { - // // for (var user in userList) - // // user['user_id'].toString(): "${user['first_name']} ${user['last_name']}" - // // }; - // // userIdsApi = userMap.keys.toList(); - // - // // Handle selectedUser as a Map (not a List) - // apiselectedUser = - // extraData['selectedUser'] - // as Map?; // Cast it as a Map - // isViewMode = extraData['isViewMode'] ?? false; - // isEditProfile = extraData['isEditProfile'] ?? false; - // }); - // - // print("selectedUser: $apiselectedUser"); - // - // // Add another post-frame callback to check after setState - // // await Future.delayed(Duration( - // // milliseconds: 100)); // Optional delay to ensure UI has updated - // updateData(); - // } - // - // initializeData(); - // fetchCountries(); - // fetchDepartment(); - // fetchUsers(); - // fetchRoles(); - // loadInitialData(); - // }); - // - // for (var field in dataHeader) { - // controllers[field] = TextEditingController(); - // } - // } void initState() { super.initState(); setState(() { @@ -746,7 +675,7 @@ class _CreateTravelAgentFormDetialsState extends State const SavingLoader(), - ); if (selectedRole == "5") { print("NO validation"); @@ -948,8 +849,8 @@ class _CreateTravelAgentFormDetialsState extends State data) { @@ -963,6 +864,7 @@ class _CreateTravelAgentFormDetialsState extends State getTabs(bool setSelectesUserType) { // print(setSelectesUserType); // if (setSelectesUserType || selectedRole == "5") { - return {"personal": "Personal Details"}; + return {"personal": "Personal Details"}; // } else { // return allTabs; // } diff --git a/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart b/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart index 11f5234..6205db4 100644 --- a/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart +++ b/lib/Screens/userManagement/create_traveller_agent/personalDetailsTravelAgent.dart @@ -257,7 +257,8 @@ class PersonalDetailsState extends State { if (!mounted) return; setState(() { - final filteredRole = roleList.where((item) => item['dropdown_key'] == '5').toList(); + final filteredRole = + roleList.where((item) => item['dropdown_key'] == '5').toList(); apiRoleData = filteredRole; }); print("APIROLEData - $apiRoleData"); @@ -397,6 +398,17 @@ class PersonalDetailsState extends State { // color: Color(0xFF212121)), ), SizedBox(height: 10), + + if (widget.errorMessages["agent_supported_service_ids"] != null) ...[ + SizedBox(height: 5), // Space before error message + Align( + alignment: Alignment.center, + child: Text( + widget.errorMessages["agent_supported_service_ids"]!, + style: GoogleFonts.poppins(color: Colors.red, fontSize: 12), + ), + ), + ], Container( decoration: BoxDecoration( border: Border.all(color: Color(0xFFF4F4FB)), @@ -651,7 +663,7 @@ class PersonalDetailsState extends State { width: MediaQuery.of(context).size.width * 0.015, ), buildRole(), - ] + ], ], ) : Column( @@ -1201,7 +1213,7 @@ class PersonalDetailsState extends State { countryMap = { for (var country in countryList) (country['country_code'] ?? ''): - '${country['country_name'] ?? ''} (${country['country_code'] ?? ''})', + '${country['country_name'] ?? ''} (${country['country_code'] ?? ''})', }; // Extract only country codes for processing @@ -1234,19 +1246,19 @@ class PersonalDetailsState extends State { fit: FlexFit.loose, // Allows flexible height menuProps: const MenuProps(backgroundColor: Colors.white), itemBuilder: - // (context, item, isSelected) => Container( - // padding: EdgeInsets.symmetric( - // horizontal: 10, - // vertical: 6, - // ), - // child: Text( - // item, - // style: GoogleFonts.poppins(fontSize: 11.5), - // ), - // ), - (context, item, isSelected) { + // (context, item, isSelected) => Container( + // padding: EdgeInsets.symmetric( + // horizontal: 10, + // vertical: 6, + // ), + // child: Text( + // item, + // style: GoogleFonts.poppins(fontSize: 11.5), + // ), + // ), + (context, item, isSelected) { print("contryItem - $item"); - final match = RegExp(r'^(.*)\s\((.*)\)$',).firstMatch(item); + final match = RegExp(r'^(.*)\s\((.*)\)$').firstMatch(item); final countryName = match?.group(1) ?? ''; final countryCode = match?.group(2) ?? ''; return Padding( @@ -1265,13 +1277,16 @@ class PersonalDetailsState extends State { ), Text( countryCode, - style: GoogleFonts.poppins(fontSize: 11.5,color:Colors.grey), - + style: GoogleFonts.poppins( + fontSize: 11.5, + color: Colors.grey, + ), ), ], ), ), - );}, + ); + }, constraints: BoxConstraints(maxHeight: 200), searchFieldProps: TextFieldProps( decoration: InputDecoration( @@ -1388,7 +1403,6 @@ class PersonalDetailsState extends State { } Widget buildRole() { - Map roleMap = { for (var item in apiRoleData ?? []) item['dropdown_key'] as String: item['dropdown_value'] as String, @@ -1415,7 +1429,7 @@ class PersonalDetailsState extends State { child: SizedBox( height: 40, child: DropdownSearch( - selectedItem: roleMap[selectedRole] , + selectedItem: roleMap[selectedRole], enabled: false, //enabled: !widget.isViewMode, popupProps: PopupProps.menu( showSearchBox: true, @@ -1424,16 +1438,16 @@ class PersonalDetailsState extends State { menuProps: const MenuProps(backgroundColor: Colors.white), itemBuilder: (context, item, isSelected) => Container( - color: Colors.white, - padding: EdgeInsets.symmetric( - horizontal: 10, - vertical: 6, - ), - child: Text( - item, - style: GoogleFonts.poppins(fontSize: 11.5), - ), - ), + color: Colors.white, + padding: EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + child: Text( + item, + style: GoogleFonts.poppins(fontSize: 11.5), + ), + ), searchFieldProps: TextFieldProps( decoration: InputDecoration( hintText: "Search Role...", @@ -1450,33 +1464,33 @@ class PersonalDetailsState extends State { ), dropdownBuilder: (context, selectedItem) => Align( - alignment: Alignment.centerLeft, - child: Text( - selectedItem ?? "Select Role", - style: GoogleFonts.poppins( - fontSize: 12, - color: Colors.black, + alignment: Alignment.centerLeft, + child: Text( + selectedItem ?? "Select Role", + style: GoogleFonts.poppins( + fontSize: 12, + color: Colors.black, + ), + ), ), - ), - ), onChanged: - widget.isViewMode - ? null - : (String? newValue) { - widget.errorMessages.remove("role_id"); - if (newValue == null) return; - final selectedKey = - roleMap.entries - .firstWhere((entry) => entry.value == newValue) - .key; + widget.isViewMode + ? null + : (String? newValue) { + widget.errorMessages.remove("role_id"); + if (newValue == null) return; + final selectedKey = + roleMap.entries + .firstWhere((entry) => entry.value == newValue) + .key; - setState(() { - selectedRole = selectedKey; - isTravelAgent = selectedKey == "5"; - }); - widget.onUserTypeChanged?.call(isTravelAgent); - widget.onRoleChanged?.call(selectedKey); - }, + setState(() { + selectedRole = selectedKey; + isTravelAgent = selectedKey == "5"; + }); + widget.onUserTypeChanged?.call(isTravelAgent); + widget.onRoleChanged?.call(selectedKey); + }, ), ), ), diff --git a/lib/app.dart b/lib/app.dart index 3839acd..10dfed7 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -// import 'package:flutter/rendering.dart'; +import 'package:flutter/rendering.dart'; import 'dart:html' as html; import 'package:frontend/config/apiUrl.dart'; // 1 newly added import 'package:frontend/services/apiService.dart'; @@ -31,7 +31,7 @@ class _MyAppState extends State { @override void initState() { super.initState(); - // SemanticsBinding.instance.ensureSemantics(); // ✅ Safe here + SemanticsBinding.instance.ensureSemantics(); // ✅ Safe here if (kIsWeb) { final uri = Uri.parse(html.window.location.href); print("URI - $uri"); @@ -193,7 +193,7 @@ class _MyAppState extends State { @override Widget build(BuildContext context) { return MaterialApp.router( - title: 'TRIP MANAGEMENT', + title: 'Trip Approval Tool', debugShowCheckedModeBanner: false, theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), diff --git a/lib/config/apiUrl.dart b/lib/config/apiUrl.dart index 5b21759..eb751b8 100644 --- a/lib/config/apiUrl.dart +++ b/lib/config/apiUrl.dart @@ -1,4 +1,3 @@ //api url const String apiUrl = 'http://apitest.tripapprovaltool.com/tstat_be'; // const String apiUrl = 'https://uat.tripapprovaltool.com/tstat_be'; - \ No newline at end of file diff --git a/lib/widgets/custom_text_field.dart b/lib/widgets/custom_text_field.dart index eebc4c7..6983c9e 100644 --- a/lib/widgets/custom_text_field.dart +++ b/lib/widgets/custom_text_field.dart @@ -13,6 +13,7 @@ class CustomTextFieldWrapper extends StatefulWidget { final EdgeInsetsGeometry padding; final BorderRadius? borderRadius; final Color? layoutColor; + final bool hasError; const CustomTextFieldWrapper({ super.key, @@ -25,6 +26,7 @@ class CustomTextFieldWrapper extends StatefulWidget { this.padding = const EdgeInsets.symmetric(horizontal: 12), this.borderRadius, this.layoutColor, + this.hasError = false, }); @override @@ -80,11 +82,24 @@ class _CustomTextFieldWrapperState extends State { color: Colors.white, borderRadius: widget.borderRadius ?? BorderRadius.circular(8), + // border: Border.all( + // color: widget.isFocused ? layoutColor! : Color(0xFFD6D5E6), + // // color: widget.isFocused ? Color(0xFF78B4FC) : Color(0xFFD6D5E6), + // width: widget.isFocused ? 1.0 : 0.5, + // ), border: Border.all( - color: widget.isFocused ? layoutColor! : Color(0xFFD6D5E6), - // color: widget.isFocused ? Color(0xFF78B4FC) : Color(0xFFD6D5E6), - width: widget.isFocused ? 1.0 : 0.5, + color: + widget.hasError + ? Colors + .red // 👈 show red if error + : (widget.isFocused + ? layoutColor ?? + Colors + .blue // focused border color + : Color(0xFFD6D5E6)), // normal border + width: widget.hasError ? 1.2 : (widget.isFocused ? 1.0 : 0.5), ), + // boxShadow: // widget.isFocused // ? [ diff --git a/lib/widgets/custom_user_form.dart b/lib/widgets/custom_user_form.dart index f4dd57b..0a1d036 100644 --- a/lib/widgets/custom_user_form.dart +++ b/lib/widgets/custom_user_form.dart @@ -30,13 +30,14 @@ class _CustomTextFieldUserWrapperState @override Widget build(BuildContext context) { return Container( - width: widget.width ?? // Use custom width if provided, else default + width: + widget.width ?? // Use custom width if provided, else default (widget.isDesktop ? MediaQuery.of(context).size.width * 0.25 : MediaQuery.of(context).size.width * 0.8), padding: widget.padding, decoration: BoxDecoration( - // color: widget.color, + color: widget.color, // color: Color(0xFFF7F7FB), borderRadius: BorderRadius.circular(10), border: Border.all( @@ -44,16 +45,17 @@ class _CustomTextFieldUserWrapperState // color: widget.isFocused ? Color(0xFF78B4FC) : Color(0xFFD6D5E6), width: widget.isFocused ? 2.0 : 0.5, ), - boxShadow: widget.isFocused - ? [ - BoxShadow( - color: Color.fromRGBO(120, 180, 252, 0.3), - blurRadius: 10, - spreadRadius: 2, - offset: Offset(0, 4), - ), - ] - : [], + // boxShadow: + // widget.isFocused + // ? [ + // BoxShadow( + // color: Color.fromRGBO(120, 180, 252, 0.3), + // blurRadius: 10, + // spreadRadius: 2, + // offset: Offset(0, 4), + // ), + // ] + // : [], ), child: widget.child, ); diff --git a/pubspec.lock b/pubspec.lock index e4884cf..c8bb6f4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -57,6 +57,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c + url: "https://pub.dev" + source: hosted + version: "0.4.2" clock: dependency: transitive description: @@ -270,6 +286,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + flutter_launcher_icons: + dependency: "direct main" + description: + name: flutter_launcher_icons + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" + url: "https://pub.dev" + source: hosted + version: "0.14.4" flutter_lints: dependency: "direct dev" description: @@ -397,6 +421,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" + image: + dependency: transitive + description: + name: image + sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928" + url: "https://pub.dev" + source: hosted + version: "4.5.4" image_picker: dependency: "direct main" description: @@ -469,6 +501,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.20.2" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" leak_tracker: dependency: transitive description: @@ -629,6 +669,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + url: "https://pub.dev" + source: hosted + version: "6.1.0" photo_view: dependency: transitive description: @@ -1050,6 +1098,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" sdks: - dart: ">=3.7.2 <4.0.0" + dart: ">=3.8.0 <4.0.0" flutter: ">=3.29.0" diff --git a/pubspec.yaml b/pubspec.yaml index 3ab006b..0ab28b9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -62,6 +62,7 @@ dependencies: flutter_html: ^3.0.0 html2md: ^1.3.2 flutter_quill_delta_from_html: ^1.5.2 + flutter_launcher_icons: ^0.14.4 @@ -91,6 +92,7 @@ flutter: # the material Icons class. uses-material-design: true assets: + - assets/images/login/login_img1.png - assets/images/login/login_terminal.png - assets/images/login/login_travel.png @@ -109,6 +111,10 @@ flutter: - assets/images/IconsImg/download.png - assets/images/IconsImg/planPdf_icon.png +flutter_icons: + android: true + ios: true + image_path: "assets/images/IconsImg/favicon_ts.png" # To add assets to your application, add an assets section, like this: diff --git a/web/favicon.png b/web/favicon.png index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..53caf6a6452581615060f460cd610afc4f4a0030 100644 GIT binary patch literal 2220 zcmeAS@N?(olHy`uVBq!ia0y~yU=n3uU|ht(1{4W6Y@!FGI14-?iy0WWg+Z8+Vb&Z8 zpde#$kh>GZx^prwfgF}}M_)$E)e-c?47&sg~T^vIy7~kI7n&8|317~S7XAk{N10E$KThQ9Wc9=`mXM_ zeBhp{ZU1c;)ZfzhcABAIKy<@aXP-6sVJh603$0_kuNNqC*t%x-&)3hM-nkcZe$kD-xhooaZU26`YV-F=y7isK z+s^HZe)eqk`RD&${Z-sD`}*fkyVpPaE`I;q-@QrJML<)xy(!R zvsbU4ZK=ZM?i+I8nOOG4i`5k~4i#Qjn>T0X9pQ&7I2k-TxEK@^wHO*&RxmIKEn*rK z7!8lnY^k;82?2Pq&(P=Tibgvx4zx#RdqPy=N zp1yE{%(Jh+dVo(oai;!!dwB-A?~mDkPd{8?D{^mU{qs-DZ^x(Y`(JEP^`AlYR+Q_5 T<2loSjSB`(S3j3^P61AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/web/index.html b/web/index.html index 6bf4dec..cd8955d 100644 --- a/web/index.html +++ b/web/index.html @@ -25,7 +25,7 @@ - +