From 8a73c9ffea3bf00a33f27e165a3590250a13e184 Mon Sep 17 00:00:00 2001 From: User3 Date: Mon, 26 May 2025 13:41:00 +0300 Subject: [PATCH] #sprint-1 --- assets/home-active.png | Bin 0 -> 1369 bytes assets/home.png | Bin 0 -> 1352 bytes assets/profile-active.png | Bin 0 -> 1478 bytes assets/profile.png | Bin 0 -> 1381 bytes assets/projects-active.png | Bin 0 -> 1572 bytes assets/projects.png | Bin 0 -> 1525 bytes assets/results-active.png | Bin 0 -> 802 bytes assets/results.png | Bin 0 -> 857 bytes example/assets/home-active.png | Bin 0 -> 1369 bytes example/assets/home.png | Bin 0 -> 1352 bytes example/assets/profile-active.png | Bin 0 -> 1478 bytes example/assets/profile.png | Bin 0 -> 1381 bytes example/assets/projects-active.png | Bin 0 -> 1572 bytes example/assets/projects.png | Bin 0 -> 1525 bytes example/assets/results-active.png | Bin 0 -> 802 bytes example/assets/results.png | Bin 0 -> 857 bytes example/lib/main.dart | 1 + example/lib/tabbar_section.dart | 16 +++++++ lib/colors.dart | 1 + lib/tabbar.dart | 72 +++++++++++++++++++++++++++++ lib/ui_kit.dart | 1 + 21 files changed, 91 insertions(+) create mode 100644 assets/home-active.png create mode 100644 assets/home.png create mode 100644 assets/profile-active.png create mode 100644 assets/profile.png create mode 100644 assets/projects-active.png create mode 100644 assets/projects.png create mode 100644 assets/results-active.png create mode 100644 assets/results.png create mode 100644 example/assets/home-active.png create mode 100644 example/assets/home.png create mode 100644 example/assets/profile-active.png create mode 100644 example/assets/profile.png create mode 100644 example/assets/projects-active.png create mode 100644 example/assets/projects.png create mode 100644 example/assets/results-active.png create mode 100644 example/assets/results.png create mode 100644 example/lib/tabbar_section.dart create mode 100644 lib/tabbar.dart diff --git a/assets/home-active.png b/assets/home-active.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4c7ceee3edf56ceadfda7d8d673a4a93c828d6 GIT binary patch literal 1369 zcmV-f1*ZCmP)~Q4Y;n6mnbKQ zd;eMA73<#e-kRpKM}9j-qVE7mJ}e|5MFTb2UA zFFRM2f80rzNmf-(1M5GuijCh7R{M(vVc`Hge{ofvOqBB#bo@d&Oh7CNgoOg|)ApyP z5d58FvV;zwu$2*p{?lP|d$7j@Yhfr185f)O;S<{*2^297b1K2;_~T&hJSa>1yf6UP zw=Y{l$i1n7(6*1)cKyaSw=Q2}D6~n&x!mm>K2e|5c5xe@RzH6+K#pM7909fkaOw)tCC3q@1`Ydp=d$iNvd4j+bdDZx z&X_8ZSX%^8=(5qIr<_NEV+E%c=R8@gbS$@_#z={rAt_aAYgzyxrpGkbyJq(bB)gh@ z@O?k27fN>u!i6GCjV*Toi0PfNL(Ws0JF$<-HDda-J`e~rmT|U!J+|7!xzo-Qr=KeT z#PqI!?(|zjravmrwLi&t`>>3}2yM&|C5Cf*+{?I5Yw;!`nfAzhDH(7vs(9U`82CRv&MA}*Y;^{BFAY~nWdRdK35vNbEYTO zM&e3CcIix=YBzWOt}xf~IA-oUMCJ&Xm+7-OPh;`}(Kwm^qUFCx#f_u>L;z$t(& zv{J-VXmqKq5S%3V>~dDZJ89LE(*n3qU}aoy#B3D)862jgxuyqQ>$rrLctj{lt1%Q;JuCaIu+z^>{Tv3+@fGp0@LCGD9AG3@Nju8*sGdre`5*(BCSsMV(*xi#%)RP(#sW%3i zrxB@>u~QoWH}-(l0)biLx`8FDSmkL^i3=p0kXQl{8nL(41}XcVuH;Z+()H>Ao;cV4 z+5zC=k==Rw%}38_tml0cSOQo3_xSNC$&p9u$m$G$pLdUM_w=+PtQUaPN8w!I{|`)d z?*Y)h1){!Wb;SNEUSjxHqV#n3EgS&g1ti1?z6rw&F%mt&Zcmvy9i27z!nc4rol&Ki zs>atZMb)_-o5a)GEJJn47Y+b9qVDmk+>Nif@SOpb(g2EeU5A}0@D{!WJY%NCj2qMF zoY0RlR9D|pB0!fjS>`nWWI^r!H0It%KyD-`<>b7%HBiA}NscvweB1iYU_&@ey(-7w z2IMyR`~ZObfYwmurQ})Va`y`eOFi=9*Qa=?iLE_`dF20Hkh)O<+*wC}dloh>jVzO4 zNfvmv^|_Z@J;3+tkR)rT(V0I2W~>HWo=K4tz98)x%NVgiz#w1{FbEg~3<3rLgMdLG bBLe>dJCZsKJ@E?400000NkvXXu0mjfQniAO literal 0 HcmV?d00001 diff --git a/assets/home.png b/assets/home.png new file mode 100644 index 0000000000000000000000000000000000000000..680ab98eb2c8b49abdd2b22c954ef48f4c703eb8 GIT binary patch literal 1352 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 literal 0 HcmV?d00001 diff --git a/assets/profile.png b/assets/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..7cb662a52025548c57c6d0ce21f3dc0e931bfd30 GIT binary patch literal 1381 zcmV-r1)BPaP)P;}e9O!14(YC$Kny z#R*KF5^yRjT;)o|#zsCtlpE+JRW3=}oo>m3-C<{Uw5u3DFjW+qzwYmw>FMd|1-LCY zy8^gM^-*-O9-GNeF=Gn=?*UU|CLhfZfCmBM@%PR9N2}DiG6E;j`L02JM$GHE01<`( zn$D_-m|SI^ou|=x7l57@f>(JAjhLu+68+Wj6rVe+G64m`K#y~^WOm~Ii?cURGrN{( ztVG~6db=kEzMs@*5J$!YoqAAf?SxyXe`^362&QM_BI351p54Aoz0w&t>7W07c~DiW z*f((;{uq8U%mN{YyfMZ&O3%U38rQxE!;MkaoT9eUJ1|@Qg_rrLB@es~5sdRh!wRg-gw$1viQHXeB*bLa7cNuno`Hu9C=Yt>OZfc$T0mEFH7XI%G|Cvp?JWOZ zh)3fe<|DZuyxtKmd8G(c0-lM44|c+@JDFVtjY|`VB$6DXd0yl$3-n&^E_hF0pD=G( zih$U8n}9P@Au~H?J~pNwT7 z+r0_Q6H)0DiVB+rbn?cnkva7B?@DL_wCle3{7uS>z&v+zJ!lj3-8HHm_yV_APl-$o zJtm4fcAsyMS4coZ;3-Zol3T8;j)?6lQDhSEZ(^Ego8~O!m~IqhItqh10sqvtSB+&> z1zw4$%^SclwF{Cj3b6Lf-Wj`|OF-iq0l%A^ga+EH3dE9f^;E+npz=S*edGCaF8M(yYTAO zyE`t~P6G0!#Y!Dwzvw`@lq}P(reyEJztd^TjFa-51mvKmCK-dhWq?!}D_?q2kDa{S zsgr=*m~wkw6(W+`_0tq0I7?~D$(=e0FoRtCH&g0RAEh+sL5?J8#O_!{kkGu~Ae7ET0EF`c1_Q%V2%?Zc5NZgVQ{$CEbfElpC zejS73@4o#q?TH*Krcp5;F^vh~fsDM;iwl(9nr nI|`sSupdC#b8lNe&lUI&gE>K=yzk?a00000NkvXXu0mjfe`}11 literal 0 HcmV?d00001 diff --git a/assets/projects-active.png b/assets/projects-active.png new file mode 100644 index 0000000000000000000000000000000000000000..d188a00bbaa727ff3386195070e811de740c7049 GIT binary patch literal 1572 zcmV+<2HW|GP)CxAQw=2s<1gwr^wW#8>|=4=ylcWdsBbF&hHy`7z%Z+B~L*>-R&*hj!JAyo;o z2N42bed;ZE8h3+6MD?u?vb%8g-A1cjELe-}kNsC!gHS=kNMTXFA?6ko<>sS)WGp!E zs{S6IRI!j-6n`6Drw3Qfi8CGoFq(uq->U7*o{azK8F&w<%XW@`r)bjvVFVDgPkaOT z3TW`E)bs8J$K&?11~C!9FTb6a#ITX^oG(g9P_}LBOnPwK>9{)0!R3FF_rnGXkX@hsK| zoj?{!qjU(hb~XHn8cU?S=Z%-&Wm12H0K}!!V&o05ntyE0wxSFk|Hh%X%t3(}F0xaz zdl5e4@#z3i-M+&`NGv+tmm~);5r7|E-2N`J(7ndiorlXSZ|el)Q90=4*YK}bM?bZ5>Y(3?x4K_nNT$u_B`1JZ?g414 zB6_$RD@ROP$#??6Nonb{y_88cM21k;d6zxBRyx7awp9TtsEJ z|9mkUDI3(Ewr{*bqA)3)9@NK7&^VJyCYQ(I117c}4(f>2&dy{oG#|u_1m` z+qqoT#W5<0jL`>tI*pww^Np%+4`|)ZVD8rZV=@La%>kU0>okwJMCB16NElN)DuKL zL7WrVK0%zX!cI_00fGW{5;-TZe1h6PZXj`YIzx+zLTW`)CSd}C#NFB1c{{VSZ%268 zdw&LG>QLe1C>1Kty#S6NuibK)8|71g9I#mF=DEbg=|Z&-a%vvSdNI0h)2A3J@s(8Z@t( z+08VH1+;>IzcORnVX#P^KgMylY!E7Gr~#}=o9DRAAC}zutdI01$7Q{Xr#uEB`)vZ^ zN!FM={V4$PpzjI%bWrSN4?`+S^3!bveIB#Aglns zUs405oDLfvlx=+M6#=o?{Aror_ZQvRsWdw6@{RSC?W698bJxMMUmo7?&kBb;ZDSqw z_{7f?6%c&*op1PSy-eYWfEB>iNZ+NiKlg0KQGKwSmS%(=O5W_z-6a!Ti-D4ZzjBN(@nITc9r-XM!WWPI)l%*sDFAutv;dV1 z^_&0mFbnk2+vC7!+Es)R^(HjW`KuZLau*=bx#+Z~ynqdv3n0oadc2FE_BNWUTZg@q zmpmq-C}lj>Jx~^%=KDottcG!vP8Bj>g1UIR3;?MRij~H6dU_I>lnxl!*!x&95%oDYdbMrXApzD1ThK7x`{=wEIKW^$nbSOK>}m_T%vh~NH3?m1?Xq^ zJU3HGVz2@zN~bx#+ias`meiwwYKCK;bLfu0{%sv;(_h(RV|!!J99|S?GM&TzNn=F1 zrO2tLlub489!^33$hAvWYOTYta(xTm#l zGuXCx3jupdxqC@{@=hjfv0N+V0ZDu0sDBN?T=$8RuXLK$dA8x>=Gq^#Cd=D4x%KrW zd`74TY~}FL`tnR>{JQ_44o0T|Oz8B?m9iP4l;L6(1aJDsPmOUd^KvAcKCywT=C3Rb>24WK$l9 zC_|3wv`ji3DoW`eIg9``ewu{gP3+1&HU(f&I?ZA9iZJZ(fpm7%J2~Y%G31(0<({yH zP*FN9sgO@vU-CVlSPjlf45Ioc<$-w0Md&o=?HZq|OmWEP)xTW;$+e5=G#O}kj(0lN z|1A#2FB9p-KLgimGxbFt}H3&a{iVqH->Eny@CO{lY+X=FMzoQpkHK`>_HjN~fo%S|Z0E1MM=OEC|5VIrxU6i~lLD@&C&$ zUX0l~$V8sD0w_YKMbY##p~rr*ecn4~Ij&BdGtW_hgq~1zK1=ReHz{{INW&C>#pv`r z(-!NKi%y=ADFBPm={yrvC36h`p}`k~sA6zi4|Av*7rhEUZdC3d!xiJ}5@2BsWe-5O bD5COz0vbQEF=&L800000NkvXXu0mjf_YTC! literal 0 HcmV?d00001 diff --git a/assets/results-active.png b/assets/results-active.png new file mode 100644 index 0000000000000000000000000000000000000000..1f606f87c98b3b8be79f2995b8cb8b996de72503 GIT binary patch literal 802 zcmV+-1Ks?IP)*T|EUBT&9e|kaEJ`6X~qkw2i9kR z`|;Z+v8g{JftS1A>IsJ)HW}<-Z~X~uM%>OhyQ(I)f@6XA-|bQ01>wpAi!Gj zyT{$Uz-94sGfIxkS|dQg z&^1Tfi-c5a337CwQscz*7Xs3{Ebe#j72t>fWHa){NKPh@PJkB$~6L#PfoyEpO zzzzkX`AN~Ec2ssIpvMU6(j@EG5kSzdD1gp!#+`r(-wbsS;69W0oPPxdz**bXmGd5; z9mMZ9wd;t~sqdU2)t!_-_ckLT%imn3v>BKS^@Q=7Kwcv`tDp4@%sO&;+0A_l*-o1@ zpru9PG(fKPrA1<3;%Vnvlz{cuxU@*DM^GCZbA;9XnDuPlo%cXq5i~D9>tob5#YMNT zXQ1d2w)tQA8E`&@vD{6!-A@0%0ov6b+}V@65&!@I07*qoM6N<$f*Lk~NB{r; literal 0 HcmV?d00001 diff --git a/assets/results.png b/assets/results.png new file mode 100644 index 0000000000000000000000000000000000000000..c94ddd279cf3059dcf5934ff21c8c06247843fe4 GIT binary patch literal 857 zcmV-f1E&0mP)dK1}`IAODyNGq-5`SE<7*q`hH;D-@l1Q-EEfDvE> z7y(A0p9qLLVJFGY-8sxpK}4?s)v%5&s;&_53x)WsR62PPAIzxwnS5mcK7PF(2_-HR z;%-&vLG%R70Oi?ny#Kz6y-EOFCEs5HsCQKyHl-6uIeL1y|CVZ>41iAi;an_|wo~32 zm=HJjaPTmWAKy4-a{>d3u#rt=dIAcEc|9qk@j%H5)j8F7CU4fBzmSdu;KiK{{VAqW zo#^%(id`}QhUQQN@*s6>zo=(L0)ij5?a;{!%` z0DQc9$e`x;Aml6)m73|9PsKx(BocfLu)QD0PYUVwRdS8CY`*W4F6Q)i~FaW%dRxK{hJKs(C>%L1al?<^BEgoPR`n1fC0=`0hp8Jr!M z-7aHzww*FL+a9$Yd<_W2;6mAP0m9p$3!!cA=M32P8Ft0j`wR%a3#>6X*A)2nZ|#|& zF92OR6D($MzEQg5I&davGdNdBzWu#pg1*4imFxX3zyQ=uAyceS*G5(S5WeXdkh`of z1HY}xs2W2py;N6;yE5Qi^Gt<$2A=#2y#{Mt~7u j1Q-EEfDvE>+C$(Ut1}~;xZZxZ00000NkvXXu0mjfHw%0~ literal 0 HcmV?d00001 diff --git a/example/assets/home-active.png b/example/assets/home-active.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4c7ceee3edf56ceadfda7d8d673a4a93c828d6 GIT binary patch literal 1369 zcmV-f1*ZCmP)~Q4Y;n6mnbKQ zd;eMA73<#e-kRpKM}9j-qVE7mJ}e|5MFTb2UA zFFRM2f80rzNmf-(1M5GuijCh7R{M(vVc`Hge{ofvOqBB#bo@d&Oh7CNgoOg|)ApyP z5d58FvV;zwu$2*p{?lP|d$7j@Yhfr185f)O;S<{*2^297b1K2;_~T&hJSa>1yf6UP zw=Y{l$i1n7(6*1)cKyaSw=Q2}D6~n&x!mm>K2e|5c5xe@RzH6+K#pM7909fkaOw)tCC3q@1`Ydp=d$iNvd4j+bdDZx z&X_8ZSX%^8=(5qIr<_NEV+E%c=R8@gbS$@_#z={rAt_aAYgzyxrpGkbyJq(bB)gh@ z@O?k27fN>u!i6GCjV*Toi0PfNL(Ws0JF$<-HDda-J`e~rmT|U!J+|7!xzo-Qr=KeT z#PqI!?(|zjravmrwLi&t`>>3}2yM&|C5Cf*+{?I5Yw;!`nfAzhDH(7vs(9U`82CRv&MA}*Y;^{BFAY~nWdRdK35vNbEYTO zM&e3CcIix=YBzWOt}xf~IA-oUMCJ&Xm+7-OPh;`}(Kwm^qUFCx#f_u>L;z$t(& zv{J-VXmqKq5S%3V>~dDZJ89LE(*n3qU}aoy#B3D)862jgxuyqQ>$rrLctj{lt1%Q;JuCaIu+z^>{Tv3+@fGp0@LCGD9AG3@Nju8*sGdre`5*(BCSsMV(*xi#%)RP(#sW%3i zrxB@>u~QoWH}-(l0)biLx`8FDSmkL^i3=p0kXQl{8nL(41}XcVuH;Z+()H>Ao;cV4 z+5zC=k==Rw%}38_tml0cSOQo3_xSNC$&p9u$m$G$pLdUM_w=+PtQUaPN8w!I{|`)d z?*Y)h1){!Wb;SNEUSjxHqV#n3EgS&g1ti1?z6rw&F%mt&Zcmvy9i27z!nc4rol&Ki zs>atZMb)_-o5a)GEJJn47Y+b9qVDmk+>Nif@SOpb(g2EeU5A}0@D{!WJY%NCj2qMF zoY0RlR9D|pB0!fjS>`nWWI^r!H0It%KyD-`<>b7%HBiA}NscvweB1iYU_&@ey(-7w z2IMyR`~ZObfYwmurQ})Va`y`eOFi=9*Qa=?iLE_`dF20Hkh)O<+*wC}dloh>jVzO4 zNfvmv^|_Z@J;3+tkR)rT(V0I2W~>HWo=K4tz98)x%NVgiz#w1{FbEg~3<3rLgMdLG bBLe>dJCZsKJ@E?400000NkvXXu0mjfQniAO literal 0 HcmV?d00001 diff --git a/example/assets/home.png b/example/assets/home.png new file mode 100644 index 0000000000000000000000000000000000000000..680ab98eb2c8b49abdd2b22c954ef48f4c703eb8 GIT binary patch literal 1352 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 literal 0 HcmV?d00001 diff --git a/example/assets/profile.png b/example/assets/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..7cb662a52025548c57c6d0ce21f3dc0e931bfd30 GIT binary patch literal 1381 zcmV-r1)BPaP)P;}e9O!14(YC$Kny z#R*KF5^yRjT;)o|#zsCtlpE+JRW3=}oo>m3-C<{Uw5u3DFjW+qzwYmw>FMd|1-LCY zy8^gM^-*-O9-GNeF=Gn=?*UU|CLhfZfCmBM@%PR9N2}DiG6E;j`L02JM$GHE01<`( zn$D_-m|SI^ou|=x7l57@f>(JAjhLu+68+Wj6rVe+G64m`K#y~^WOm~Ii?cURGrN{( ztVG~6db=kEzMs@*5J$!YoqAAf?SxyXe`^362&QM_BI351p54Aoz0w&t>7W07c~DiW z*f((;{uq8U%mN{YyfMZ&O3%U38rQxE!;MkaoT9eUJ1|@Qg_rrLB@es~5sdRh!wRg-gw$1viQHXeB*bLa7cNuno`Hu9C=Yt>OZfc$T0mEFH7XI%G|Cvp?JWOZ zh)3fe<|DZuyxtKmd8G(c0-lM44|c+@JDFVtjY|`VB$6DXd0yl$3-n&^E_hF0pD=G( zih$U8n}9P@Au~H?J~pNwT7 z+r0_Q6H)0DiVB+rbn?cnkva7B?@DL_wCle3{7uS>z&v+zJ!lj3-8HHm_yV_APl-$o zJtm4fcAsyMS4coZ;3-Zol3T8;j)?6lQDhSEZ(^Ego8~O!m~IqhItqh10sqvtSB+&> z1zw4$%^SclwF{Cj3b6Lf-Wj`|OF-iq0l%A^ga+EH3dE9f^;E+npz=S*edGCaF8M(yYTAO zyE`t~P6G0!#Y!Dwzvw`@lq}P(reyEJztd^TjFa-51mvKmCK-dhWq?!}D_?q2kDa{S zsgr=*m~wkw6(W+`_0tq0I7?~D$(=e0FoRtCH&g0RAEh+sL5?J8#O_!{kkGu~Ae7ET0EF`c1_Q%V2%?Zc5NZgVQ{$CEbfElpC zejS73@4o#q?TH*Krcp5;F^vh~fsDM;iwl(9nr nI|`sSupdC#b8lNe&lUI&gE>K=yzk?a00000NkvXXu0mjfe`}11 literal 0 HcmV?d00001 diff --git a/example/assets/projects-active.png b/example/assets/projects-active.png new file mode 100644 index 0000000000000000000000000000000000000000..d188a00bbaa727ff3386195070e811de740c7049 GIT binary patch literal 1572 zcmV+<2HW|GP)CxAQw=2s<1gwr^wW#8>|=4=ylcWdsBbF&hHy`7z%Z+B~L*>-R&*hj!JAyo;o z2N42bed;ZE8h3+6MD?u?vb%8g-A1cjELe-}kNsC!gHS=kNMTXFA?6ko<>sS)WGp!E zs{S6IRI!j-6n`6Drw3Qfi8CGoFq(uq->U7*o{azK8F&w<%XW@`r)bjvVFVDgPkaOT z3TW`E)bs8J$K&?11~C!9FTb6a#ITX^oG(g9P_}LBOnPwK>9{)0!R3FF_rnGXkX@hsK| zoj?{!qjU(hb~XHn8cU?S=Z%-&Wm12H0K}!!V&o05ntyE0wxSFk|Hh%X%t3(}F0xaz zdl5e4@#z3i-M+&`NGv+tmm~);5r7|E-2N`J(7ndiorlXSZ|el)Q90=4*YK}bM?bZ5>Y(3?x4K_nNT$u_B`1JZ?g414 zB6_$RD@ROP$#??6Nonb{y_88cM21k;d6zxBRyx7awp9TtsEJ z|9mkUDI3(Ewr{*bqA)3)9@NK7&^VJyCYQ(I117c}4(f>2&dy{oG#|u_1m` z+qqoT#W5<0jL`>tI*pww^Np%+4`|)ZVD8rZV=@La%>kU0>okwJMCB16NElN)DuKL zL7WrVK0%zX!cI_00fGW{5;-TZe1h6PZXj`YIzx+zLTW`)CSd}C#NFB1c{{VSZ%268 zdw&LG>QLe1C>1Kty#S6NuibK)8|71g9I#mF=DEbg=|Z&-a%vvSdNI0h)2A3J@s(8Z@t( z+08VH1+;>IzcORnVX#P^KgMylY!E7Gr~#}=o9DRAAC}zutdI01$7Q{Xr#uEB`)vZ^ zN!FM={V4$PpzjI%bWrSN4?`+S^3!bveIB#Aglns zUs405oDLfvlx=+M6#=o?{Aror_ZQvRsWdw6@{RSC?W698bJxMMUmo7?&kBb;ZDSqw z_{7f?6%c&*op1PSy-eYWfEB>iNZ+NiKlg0KQGKwSmS%(=O5W_z-6a!Ti-D4ZzjBN(@nITc9r-XM!WWPI)l%*sDFAutv;dV1 z^_&0mFbnk2+vC7!+Es)R^(HjW`KuZLau*=bx#+Z~ynqdv3n0oadc2FE_BNWUTZg@q zmpmq-C}lj>Jx~^%=KDottcG!vP8Bj>g1UIR3;?MRij~H6dU_I>lnxl!*!x&95%oDYdbMrXApzD1ThK7x`{=wEIKW^$nbSOK>}m_T%vh~NH3?m1?Xq^ zJU3HGVz2@zN~bx#+ias`meiwwYKCK;bLfu0{%sv;(_h(RV|!!J99|S?GM&TzNn=F1 zrO2tLlub489!^33$hAvWYOTYta(xTm#l zGuXCx3jupdxqC@{@=hjfv0N+V0ZDu0sDBN?T=$8RuXLK$dA8x>=Gq^#Cd=D4x%KrW zd`74TY~}FL`tnR>{JQ_44o0T|Oz8B?m9iP4l;L6(1aJDsPmOUd^KvAcKCywT=C3Rb>24WK$l9 zC_|3wv`ji3DoW`eIg9``ewu{gP3+1&HU(f&I?ZA9iZJZ(fpm7%J2~Y%G31(0<({yH zP*FN9sgO@vU-CVlSPjlf45Ioc<$-w0Md&o=?HZq|OmWEP)xTW;$+e5=G#O}kj(0lN z|1A#2FB9p-KLgimGxbFt}H3&a{iVqH->Eny@CO{lY+X=FMzoQpkHK`>_HjN~fo%S|Z0E1MM=OEC|5VIrxU6i~lLD@&C&$ zUX0l~$V8sD0w_YKMbY##p~rr*ecn4~Ij&BdGtW_hgq~1zK1=ReHz{{INW&C>#pv`r z(-!NKi%y=ADFBPm={yrvC36h`p}`k~sA6zi4|Av*7rhEUZdC3d!xiJ}5@2BsWe-5O bD5COz0vbQEF=&L800000NkvXXu0mjf_YTC! literal 0 HcmV?d00001 diff --git a/example/assets/results-active.png b/example/assets/results-active.png new file mode 100644 index 0000000000000000000000000000000000000000..1f606f87c98b3b8be79f2995b8cb8b996de72503 GIT binary patch literal 802 zcmV+-1Ks?IP)*T|EUBT&9e|kaEJ`6X~qkw2i9kR z`|;Z+v8g{JftS1A>IsJ)HW}<-Z~X~uM%>OhyQ(I)f@6XA-|bQ01>wpAi!Gj zyT{$Uz-94sGfIxkS|dQg z&^1Tfi-c5a337CwQscz*7Xs3{Ebe#j72t>fWHa){NKPh@PJkB$~6L#PfoyEpO zzzzkX`AN~Ec2ssIpvMU6(j@EG5kSzdD1gp!#+`r(-wbsS;69W0oPPxdz**bXmGd5; z9mMZ9wd;t~sqdU2)t!_-_ckLT%imn3v>BKS^@Q=7Kwcv`tDp4@%sO&;+0A_l*-o1@ zpru9PG(fKPrA1<3;%Vnvlz{cuxU@*DM^GCZbA;9XnDuPlo%cXq5i~D9>tob5#YMNT zXQ1d2w)tQA8E`&@vD{6!-A@0%0ov6b+}V@65&!@I07*qoM6N<$f*Lk~NB{r; literal 0 HcmV?d00001 diff --git a/example/assets/results.png b/example/assets/results.png new file mode 100644 index 0000000000000000000000000000000000000000..c94ddd279cf3059dcf5934ff21c8c06247843fe4 GIT binary patch literal 857 zcmV-f1E&0mP)dK1}`IAODyNGq-5`SE<7*q`hH;D-@l1Q-EEfDvE> z7y(A0p9qLLVJFGY-8sxpK}4?s)v%5&s;&_53x)WsR62PPAIzxwnS5mcK7PF(2_-HR z;%-&vLG%R70Oi?ny#Kz6y-EOFCEs5HsCQKyHl-6uIeL1y|CVZ>41iAi;an_|wo~32 zm=HJjaPTmWAKy4-a{>d3u#rt=dIAcEc|9qk@j%H5)j8F7CU4fBzmSdu;KiK{{VAqW zo#^%(id`}QhUQQN@*s6>zo=(L0)ij5?a;{!%` z0DQc9$e`x;Aml6)m73|9PsKx(BocfLu)QD0PYUVwRdS8CY`*W4F6Q)i~FaW%dRxK{hJKs(C>%L1al?<^BEgoPR`n1fC0=`0hp8Jr!M z-7aHzww*FL+a9$Yd<_W2;6mAP0m9p$3!!cA=M32P8Ft0j`wR%a3#>6X*A)2nZ|#|& zF92OR6D($MzEQg5I&davGdNdBzWu#pg1*4imFxX3zyQ=uAyceS*G5(S5WeXdkh`of z1HY}xs2W2py;N6;yE5Qi^Gt<$2A=#2y#{Mt~7u j1Q-EEfDvE>+C$(Ut1}~;xZZxZ00000NkvXXu0mjfHw%0~ literal 0 HcmV?d00001 diff --git a/example/lib/main.dart b/example/lib/main.dart index 90377b8..4ba0761 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -32,6 +32,7 @@ class MainApp extends StatelessWidget { SearchSection(), ButtonSection(), SmallButtonSection(), + TabBarWidget(), ], ), ), diff --git a/example/lib/tabbar_section.dart b/example/lib/tabbar_section.dart new file mode 100644 index 0000000..dfe3e8b --- /dev/null +++ b/example/lib/tabbar_section.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import 'package:ui_kit/ui_kit.dart'; + +class TabBarSection extends StatefulWidget { + const TabBarSection({super.key}); + + @override + State createState() => _TabBarSectionState(); +} + +class _TabBarSectionState extends State { + @override + Widget build(BuildContext context) { + return TabBarWidget(); + } +} diff --git a/lib/colors.dart b/lib/colors.dart index 95d584d..81fc465 100644 --- a/lib/colors.dart +++ b/lib/colors.dart @@ -14,3 +14,4 @@ const placeholderColor = Color.fromRGBO(191, 199, 209, 1); const descColor = Color.fromRGBO(135, 135, 161, 1); const cardColor = Color.fromRGBO(135, 135, 161, 1); const captionColor = Color.fromRGBO(147, 147, 150, 1); +const iconsColor = Color.fromRGBO(184, 193, 204, 1); diff --git a/lib/tabbar.dart b/lib/tabbar.dart new file mode 100644 index 0000000..5acaf0f --- /dev/null +++ b/lib/tabbar.dart @@ -0,0 +1,72 @@ +import 'package:flutter/material.dart'; +import 'package:ui_kit/colors.dart'; +import 'package:ui_kit/fonts.dart'; + +class TabBarWidget extends StatefulWidget { + const TabBarWidget({super.key}); + + @override + State createState() => _TabBarWidgetState(); +} + +class _TabBarWidgetState extends State { + int _selectedIndex = 0; + void _onItemTapped(int index) { + setState(() { + _selectedIndex = index; + }); + } + + @override + Widget build(BuildContext context) { + return BottomNavigationBar( + showSelectedLabels: true, + showUnselectedLabels: true, + selectedLabelStyle: caption2Regular, + unselectedLabelStyle: caption2Regular, + type: BottomNavigationBarType.fixed, + unselectedItemColor: iconsColor, + items: [ + BottomNavigationBarItem( + icon: Image.asset('assets/home.png', width: 18, height: 20), + label: 'Главная', + activeIcon: Image.asset( + 'assets/home-active.png', + width: 18, + height: 20, + ), + ), + BottomNavigationBarItem( + icon: Image.asset('assets/results.png', width: 18, height: 20), + label: 'Каталог', + activeIcon: Image.asset( + 'assets/results-active.png', + width: 18, + height: 20, + ), + ), + BottomNavigationBarItem( + icon: Image.asset('assets/projects.png', width: 18, height: 20), + label: 'Проекты', + activeIcon: Image.asset( + 'assets/projects-active.png', + width: 18, + height: 20, + ), + ), + BottomNavigationBarItem( + icon: Image.asset('assets/profile.png', width: 18, height: 20), + label: 'Профиль', + activeIcon: Image.asset( + 'assets/profile-active.png', + width: 18, + height: 20, + ), + ), + ], + currentIndex: _selectedIndex, + selectedItemColor: primaryColor, + onTap: _onItemTapped, + ); + } +} diff --git a/lib/ui_kit.dart b/lib/ui_kit.dart index f54908c..ccf7b9e 100644 --- a/lib/ui_kit.dart +++ b/lib/ui_kit.dart @@ -7,3 +7,4 @@ export 'utils.dart'; export 'input.dart'; export "search.dart"; export 'button.dart'; +export 'tabbar.dart';