AXVy&o!P6}D-Zm>(?-%Y@eHIaHb7*ZGwxzogcVMQAh3)mYB-6waoRFq zb?b4B8#PB6qsy_1$~tsxSA9y4g`e$E-Cc8~#RKL|aZIBXsh*mILv@`^(1xoi<~3lC zO>=)=hD2ptlnjG&36+Uwu}qJn_Ls#RL)Nboy$K~Zjm~Ua69(jZm|%?sO9G1wCs;DR zZsf!w35$@r8%dekm9T;wqzr|Pb0#_Cn_>Q*O_K@ZyKXohu3ATW;q g--6q~H!d;kUT zlr&o(v|ni-Sn@O0>A({R_eP}?Q?o16VxS@@CsQu6t0%|I 0ZK9ABEDlYekOnQt#BcC^=by-`L~*@+0a_n5Lq{H3O~}^;)lud&bKY=3oA|uD zB#?er09BEWJthnY(rEz!a9!l+r9`h{{f#Ctk-MGA&b({`N3QIfE0$z-ZK(APaIw$m z*SHe&RLM%yEEA1ooqK^0PzM7&ZBy(8eSDIeQ^CkaN zk@vnz q zDj;JOJsV%@o ;@_=Ml)7XOnps%<7;Wga}q`2)D==QVJzCMNyJ)szOh&6Gje zsRlT;0}Jffylj7xFZ|0Xba(gjUNAhg*pE>Dex>25RfFj|k)#8_KKp$$-!U8SU~KY9 zHnWOmgoz4$ehsNVLP%#&Ay>-HDVWtxQWounnv-ks)OzO^WzLdb4`h@lFyIV>|L7z? z2`twHesP)yMTU0@m09i3({qK~Yt!sf (!*-;I_s)d=1z_No0M!=M4FT1 zv62hU=9EoIFj2W(oG&W3()#QZu%9g#GQ_!|4vMF+sZI~ i#B)!>V}GkBg!=0fP=T(ydc{h5cI!3r zVZ#P-=xQU~GrkgOZd4c3iNMMUI_sZSw#c=HE*T*@CA#sI1i7cd5E#DMS@guTzZsZ% zh>`{C7>6-$Q1bJ7czo~q?HQ{?9`MiLzca}?yED5Xz*2vwnF0%SB6Of=<|SL(@JgJo zC%GDg^Dz7T{6$! x|Ss;q;Gf*5EBe ht<2jeP4ZpD0Ry`on-zml|#ARLe?t^HhdVby0BOsepxQy)_Kx(U-Mg=(dDC@@!W) z3K-XHirZKj#Efo z*<{!1)xvY4Wz*OGzkf^v%B+`>o5A{zO!OYmw10KO(rDCbc`7wo$ig8$;d*UMh9vAQ zBc4J#d(K8swcYP@T`=aGG0J_>(bZQKNF53QK#-PlW4e+Zb^ezs#nw%day9ZyGQwx1 zoDPG=hQ0fs^R}_$TK^X17M8+vkma6L9D?vRUr4ltvga+jm;k@E<%x}ySyZ;ZZJDPo zf2M+e>YxD{HR4_h$=e6Jmfl^udNE$SZKDV;oPKJa3;T(s4dPneKXlBB`)4gvuA1Gk za*1>F#EJw UQIKc??E*V%u)@lAD?6 zWXcWzthZuM!pz0McTjDKG8wG6Iy2v#RxDlLE$HHcQ+>@sO8tGRvg2aj&Y0+~H?NwE zN?dztb4d3QoK8}?M20ewD_Is@Wtv;uoRnDMkwRD|MU6#$$4cs!?BGtAjdcOFi-BMX zaCrcuFxw$q|J?2N>Ep{AJ=~Qh+63B2DvgQvlLi0-aNZqhRm(w_mp6<}!)0pPm5H@F zFUgz~o)+Cn bh0gz5hJ(a~W5xBfkGFDy}TYtw7-&RJ;`ZW6>vF_I)q9W=&55w4q65SmP P&EWa@&b#BxMs&f9yELogrA~v*44S^6`D|8Ndn4 z#6rx(?cB8{PL|Hy<4V#l;?K zX}@Q1Pi0d@lbda(Vc7NzqQLy1&L0rm=2^;5#>zxB2P{BgZrK<>U}b%cBLiENbk6KQ z(( 8Y}N<6j4n4igb2qk&QoSpw8h=z-BY?7cw{S;Sl%!`pl8gJ<54*k^y^R zOrK=WoD^Q9wzYtr4VWA5h)yg02vzcZR?iJ<_;$x9S2I}Hw)ss!)F%MzNaTspoM@{y z!;^60rUEns_@nD=PaFkHyw?&-a;VS8Ua!JfYufiH&8}nj8WZD_p(Z10Z7Pb?LyHq7 zxPZN)3%bpfx6BO@#?E^B)dO*B^31(OEpo&Dhq)vqGV%|Izvl6j`D=mu2i)u~m{y3C z=4~qLc_hs?KB)klfoX_aCtCZ*C7p1m@Iv-g`fcP`VlTppt9R}b!0vlez}n35vJAcH zP8aBA`NNCRu|eP$B5`?^V8
uR{K z)M%%`=VOgbaR}0Xe H|S-Xa}zYgYcg829Ath!G%IRUTN z2{tR;;<<{;m>V_Up$_15UfJ3U>xQMnU?F3)@6Ez3xY>lh{k!;A!7j0zceLqhzEy%X zVkM!DO*I?}R=mds?3xv!B>Y_R(Ym-Uv=n>RuehN+&TTbE0Ax3WE!EVZr;gbljnG$* z_C3RHl86Nj Z99dWI0dm1%_~}YwdezR`SXn4+9IVj|)U|Q&yvi0q zm7$*iWXG&m AVdK$!^ni*l6FXxjjuH4@W zVqX(%3nba1-3_~Zezyz^zQ&vN@;wP33)3JDBn_?rYiFkijUG}pF^yBVg+)&?+yGD1 zbK#r@S49xm J_sDhu=mHtQkQX^DfCZ-at>S)JicY4>|oXAGr|L-P-gt5R@PX z+@ {3*1B52Mi*!gr2_YgND7}eF6H!3vU1|uuCv=eh2_hl{sZs?g zf^-n+hysfK{ttKE`+E0zoW0J>!=824p7VF^?+SnkWrQ>WP*4B>6#ow3?;;=?Kut-- z!UAJsVPRosW8>iB 5mK_UvfKiS zYKk(d5;C$<6f`t64D<{ 1@s?^WCBnCK@cz%2uejs^}kINKxP0)2n>PA>rx6^I !6cvPEW;H6M#ASq1b?vBULoE}3fv|E}Vq0Q{r*e|P{u5SRi0`3H$I z|I+{jQb7JM{*MME^p69~BCKHP#2WE;0YC?$_$M3047dR(42TyLyiOZlQ6Gq@=N7fS z4Fo)OhnBm&HXhaz%@|Nw%POW@XUC4(yOB8_%D9ZTe5`%#=A7(FU1FUw?5<_#e-=NB zL?iT>hEw{Q^jjomeVWlR@*ou&@yx9o&~&51dF^LHB?mDi_ZGs*V5yqP;lnmvW*)4Y zS*E-zm F9w&nf+OG zsb`*Pm#APQB~uAG^57zp0+2FibQ>Ok(gly@cGHsdqR-I0XW<-WzJg|W5*i!n=cs0z zFD 8;vz02)-_L;2*vrw`EF7LU3;l`kZJ?$G11ed zp%#RQ3v(9g=N)fT1&M5ng^dTt4D4x#(PsBwQ(Tnfe`` {THAx^rgI# zA2Y3TSmKKKt+a8BlWjH5IMfxrGnJJiGH{$~R$)6>%zmyD;BsrmLE+O9=;gXROic2Q zw2cW5>D~Hg-p$e%_)0d%cj`!k< DZT(Cb)syVX66?O zO??ku6Kh;X!Qbu@pKIs`4J_bf%8+nuFU~hFI+5Kat>4CO#J{ZC@mxit-hha6_vek{ zjM3TsBLIE E1#?>jT#^kFy z+z5W!XJxSNYBc!*rsQG_Fan40C|P&Cq{cE&ncL_E7g_)y$PJN5gMIFFTIvhE#x>{a zsC`!U^9y|$!c;;vEun;15HHIZ{fO6zxtdwt)Z2>JkHyF!$7OCkoINXC$GL8oS$A1+ zFV(b1!iL`_V&jl`fm9cZvWw}>C<%F8j->959Npu?R|IX3v8=odO%-D%sZSIq-*RXa zO6*HU@=BQ55i#m7p+7^<;vubrpCW!wA(pY5)tv#c7{M%zlQQ*FMQ6k_Bbt;GMF+{2 z1$R7(1rCmIn95A}XwO{4I(ZVz5jLMK_9UYvK~0yS18^M5*OSnMCWWxLqDZTX)R-Jn zmf(vMhr*&9v|LiYT{TKiOuRwNv8;)*x3WZ IZKYCSSe9TQOEM+-)3 dY{&$p15z zKJH@kFMtqcMO%{{I~Mr?7Y@;P62-C4GVURM?EVEvUsh0FkGUo&Q-!{x-+rr3yRJGG zliD`)7m$ z5rZIroW)ZDM~em>J7n8)*wf> f48jTFOb<)H zMNx3ezBz8>3Awc-*1h)YfJQvUf6$!`lHe ALu-)c&a?rk+RmjgfI;-3X7jh@b04 RvMN-)9Er)d)Y`% 84)Jyo`%C5LPabH7$FMKQi;1@+a09Qh!hcz~;pS0#ycxuan+DDw zV$5uQ>f+bc^iTMlH;P=6HI{Zw-@4;PnIJ~q`&xG-`d R@wEhfC71 z0MrPHF&YUjqneKmc@EA^=PR)8a0hBZBBhX%>0R+5`N=8b#AIqi({TIRHaq&gLy7pj zIaaUVCd2mTQ&?V#%Yb-F#S9nSi+)Yeeb#Mr(m029)8;IZ8njLQXfi9dTy^Nz+Sua! zQ?>?-EK}J4c2ED4im*`UmcZm@vX_UF`p>q|l9FnlJ0AXx-`DW-uK!Klf;nW=#PO=< zIL`rpq|V){aq>PPw3(#gi4RQ4W-w@PD*;}h&Ki3o^Gvzyt)>1H)iA?NLx<+ LCja4udbrfJodl9 kP7{A)tpSh8_ z&U lJZ6 zyO3{MD~e8I5UqbVn|knUN8r9+$(w=DxU0PG=?E3H)o@ fu8s$h3uE2^-OQH1i<~j=QGeh2T(Xx z`3~CY`(pNuWsx{iwS>7%QpR?q&Mb{>dW &oiE?9(109kqfDgT>jn-( uA|V&^NX$1R_SCs9f@ zlWOt+);J9nf$?ZuBco#;z~Ls}-p7RO^yYnzt=j|)G0LD?=mSnyyyKN_ZOsI+00|ds zqbiUcL-w@6(A8|Amop+S1kXnKgqhWSD&)EA@^w8;97~Lqh`)+t$~|#UPef~faGpm| zkVX=4a*+*yVw#@1j4S2!)YTD{-5)IbEd)GRlqnpP{z|UkBGSptAZN*nrpD}MmxZF$ zHdktRQsyL&QJJOu u~v234uoIy5wMa`V}Ag0Gp zm71^q+fmX L(kj}HA@%r40(Eio~s&h`oghYHNcTEEtsE7mnv=P+>eozCz+@ss#; zr44*z*n|#amV@CsdE~L1_P#ya&5Pz>PP<9d_B&0>*XerNL0U&~BfA~3)I7HCd2(jP zhcrP^MDZH`r)3?}aR djgX9M2`vZxct3V+GL)6otCC&Gu1djuu(lu?X_?= zb-!1 {N9FveQ>O`M1TQU6JzU7V&+X4>X8aqQC;t^SZnrgyElAhM zo=hj8Y(~F705~dJcRbCa*8in|6-aR0lQ^V(aXddCe0rYiWA{``$k4#)F`crbrcmN4 zPb3TK9d?3R5Zng+*rKJrck!87&T>wmwm>2aOuypl<_(wudbisCv71z7gGQ zXZL`S*P;#Y0lmPmoP=g#e5A8_ZNhdeDivT69`i0lDw5H;@j}9yfsQWT{Z-P~RpzcB zc_@6;eVKKiVuAgK-sh|Z9-0ha-uaXhL#Wnj%*|E|wsav?A9TIxTp6bM)C92)B6Cjk zk4#{~4oxa N(Q3cMcKS{6 z)bUVKPzEk r)0=|+sqZYs4TgvQE4VLCjj6Vh#hE?Y1xruyZVpKugD4O$`Xf<;w zp0pV@5$6}3R=pXv1#IYTql<0~K9v3;Zhr2T7b(5k!vBL=S796$CWPHng5Uj#brVG> zlS`<@URq`PC%x9Hf5)@`qEr%Jzy|cz#qgxO&uNz25GK7-3^d?+ta3YPCw5Vz?0XAP z`qU9$offeT(tE6 *)yz{)1N*9w;+b1Z zw@RbkI$k7X@Tt%YNtG$W!rdXP)wYCDxe3K!eXWyIw>HBN1!BPM$n#ux+g_O79FuNE z%6dEhp45|7gKUXPikQzTg`SH?3bfW7S4^g(n2 ->tSyFTRYsnpU;T+gp{w zhNOtYN%+3-6$wGJpL>&2;BI!Bjf{Y;v8z<7k8u@6O{C^A)(ohxF4&Js?U7iOex~`D zaeH<_bn8&aFbap8XEq8TKMm3&^e;DbR4J3&%zW+XOy&MO=}*PelKjO?@#j$*JX$nL zR0)-M*}a<4jzl;-9we+Bn&NjY&Pnq=pK1kj8qZmV_NQo9NO^Ee)o5F|fVpURF-vhk zzxs~>R(J=U2>FnIMbM$)44?7!(aWUGFKGvfRva3B&b}!CukqASteIg)`-Wg6+&J>K zw#Q`-v3ghvnF9bb@t8eoXzI%6X7WU8{0TOAoLeHe;m~n!iHEACShp7V$}e%zG_CrF zj)Jgr>fXxFfo!{GS(`JQ+L0C=`Wa$-{(R+D1mdi3lOfx&Y;)5KB^pO#RgIuFd4w<= z1QjYrs3f>hA-!#~W!}N2O7uD;5=Xbv`f?Lg5|4K_D``7!ayAYnT{&5rSQd~>t?D`^ zPe74INWOHXRfL9l+T1IW`~63!(`XbXJOOEgpyLleDxoh~XKk>p1K(P(MJc4gp6^m| zS!Nw3&KlIK3vlL3yHH~h _U^?8$E;&}A8>ubg~!O!IEJ_L(y-0PX>^^zZI6~C|g zvt!-PEU+J}+~91u&N9+mr?Lms_Pr|60{vPw zG%Wq)R3`}oE;gXvEJrGeoEJixW`~^@ZnF7It@R|(NMwcGyy}0-i4wWguX);{y>=xe zn(@S_Jh!e5K+N*gJqX@W4V`c&2@UpUk@Vp%?=z^}50e9?WlHm1f4oqj$X13prpM^K zc-Px`J>Z2y440pUF*<|5D)U}ASJ_MOK^<(q3Glk;{$ae^T|g{~@ySCIhlSUh{=H)0 zSiQb*Z@ogXH$?uO?;?4;5?O1-Qhe!YFYpL}506fapak4upO)k8Fx?7C*tAs?Xe9g% z{>qiAfbk9ZwT2Dx)`eAz2rEhLy +wWbvtqp!vmBPQD( 3#%z?SZZkwY36{LVCz!I$7Sdg)V`xt=F0n5^;@9Y>0YNyzv j=JIc4W%;FS!a(ZX&*-p5kJ4`<#WVL0q zp^9_8&Hd+0In0e}5`DEP_s51mP5B^&^k{y1Vk9u7WRzj9wF6PH>#Z}WkM}|64$4^j zw#rRJeI^?Uxp@X(m}Ot(-C s-(a8zYyc0K~ z)sO9e$@b-^Xs4PM35(=jOR?Pis$f^=-&il^B!PxBr(7cGq{?bpMa{780ALIncvtWD zlis_Pr!E{-|KTtT2xYy92HTw*b ~>?0+bBV8+ z4@o4^FRvE9Ut=U$NlJyNN*S9EMB8x>^6#^$0XI&k}G0; zL}#AP*1c=+HTY6bQOHZphUTL;U>$h$7hw9V>^BE#c%4T=Dd1wKSlAI #8lEN3Y<^}W;W~7dyUvH&jX+TF1ct8$Z9cAKU19ezI#0J-#t8dgI5se-Xp+h zqk?y`D^R7h6vS*ERru*GebOf^vyIYx Pi9Zev@ee)a&!d(Jx}Unk2E-1%{w RjhoZpXxiP{P>S>T)1i znQ5%L_{h2IzCbV|STLmQRp689kic6VTda0&wT5+!%Sxx7UdA?*gQk1ClB}}*UEe`z zg)(nLp}v+?zgljjTW0Lj^`ANBFW*^f^;=?IN?6JsW!ijIYsr4?PHDY!TQv4|rGCkC zQthk)A0$0Ao&Jb>TrTyPDeZGX7i`W}9A@2I#>&dX*CU*hv;$RQlh^x0^<8gUz52V{ z*QQxh)d%YFv|rhMHG%NbVrq4b$Sx6o6~bHHJ~o7p`66`yHrIa(AlXK_Tgyyws@cPx z@(j{`$1B%OLfIc*)T?Ll!qI$bncALQO2q^v(?+T;geUh oslb(COP2S$@rzP266+O1&*y2?O ElFsBs7-}7vyci=)u zW=qjrFSpV)?SS5WCH|o$QvsW3U1qLxhAWZK-KKKAgTR+$L8>K#Bt4#&UE;Ux3R+_w z;!&1bRq4^-Lr=6su_7P%@=8@YI~DjB@cZEt#=ijFzkp9tS7|>_0>Tz#6e=4g6}eCo z_ydwO4>M1RzF-&W#+bN+0Zm7R)`)X=*Ku5)l?)W@@9R8g_#VCK%94S<`#xUf{4c-- z ?l#*Tw0K^11)-zN@_1z8y1x9s|VQ z9rD5<8-Ik5!jz8v3_ qYWj|B2TXY>e z$2;6qFxO@hm3p7n?~xmQ_JvZGW6rlC_bQT(1`xwq8l8^y%rJV|k6zoprK@0vN8_hy zTO`!S>Ue+ZFQv@oo@6FNM31VGtU=?;f^Mhc6l<(d^7rAmDWGpyY0g%sbD7UKl+S)Q zUS`N*MzBdF#=yV6AvbZ!)28Yxy`jF`xv_f-x(7O`E$Dj?%~v*0Mze^sNwC!wL~*R% znWoEMgBuR1bkRIU@%uC@=gQbS;DySZcQc2cK}2fhn7CG+|uI5p ?oc?xaJN)!~psDqKN_%~4 z!!FvFDDx%Xy5pU~C-^-IFU)Sc;EF31=ZX2?B0+UFI;f@_N)MJ^l)qHCr5vDPxY|oV z!y&hcaqtfT`|-<273)$~*# R?cQ;1W3*<0|V0eyUL%N!U3ptMjI8P48%9C!p~0qfN@7$gc(oo^A+TD^{DW zZ{)h^%0K`M7mHOt_IIbb@~pDYSSQ%70@(WLE5LcPKFr;NWVLYlM;<$;nlZYnZ!yw8 zf@`KX+0Nm2XdL`5d)J9@&=yV_y=h`cJv8DplJ6IbUN{l9Z!I+tj0}ctgkSZ^`jTY5 z`qV&r#+S~U>(|}KtSdMv2%O9xOOC-D`{7&V8ZHD?X_YRylu>iq+yq@4BZXBrCH?G@ z;Q|Aeu4~#kj@QDYjIZ5sZex1wA3dU{S3nBK>N;1{2C>vJEt6SG$k{$Iy6)UG@x(O3 zqo$3jsDhT5rAtyv?SDjRJLv@6%o>I6&gxMXKo_u?*Br%B_UTe%CT`*1n#Qv@hf}-N z%h9lDC&0Sl6sl~AdRhmeRo{1 S) XH=8xQyVz*B zJlC;+@q+71*>of#n;rb^vR?e5FU3LhS1WnME6_nKI&Z2!Ti)zL{An<5b{|~$HRV&- zq7XGTb(Z431lsa?o$&bXSDG905`TK1F$tW3bLY)$xnt=EqFI|h`%eI|?y86+lOrUM z=_}p*wcVr}S6y$HnA88;jSllF{^kC>^LlbiRX;lMQ%t&)E~ m+| zj;VA&tSy;E?hRC2%o)mmK66jW{r+ 1iq6HhC^J<#Pj-`-M4;bp7CVv(=F= ze7uS63c+qq4H50(EDoNO6?99VeEP)_s_RXdMU$= <>2uy*wLoH@vKWLs WyR A8w>rqNxv9$#oF{2ka;B;O_19WohV3kA9>`C+^_mAY*3*v2K&`h zq?33apT<#w4gwy%^Qg`yM>IT#26XO;qFYiMs|(&M+&(vn5pumtce1|9_*%3Lp(_bV zm%zkomI@b?h%fM@RDW6F|I8qK%$Hezt>EobZTX;|NPqJZZr2UazvrFQN)DU-ey-ac zQ~spy2^FUEadek;{=J+wCKB)WVNv9hi~)t08c&pz?T1^?&TfZWNF$Acxl|L{lA2)! zE7h_)f|b2BPJ&EW{f&v1M{{*m*$D;~1;&;?tv>fLAEvzY%$32qI|*vARf<%0s&BsY zHIaOuOLFw+)S+4eaRuE=ppQH>{WO437?{0fb5v@@2)%h>+Jw#)z60EsPav~>zu7}M zBC*qc;cqV}!&Y$&27RfcD)zM%ua+o`kN_7TtHjEM%*+ELP2Z;=#N5|1$;9}1-RfQq zl_ek1B&{s7=6{JjDrpPrrJoSbK--=^zE#MOZV(jHG`=zXC`(~Ka*7p2CXP66aM+5! zT8-VfGljF2%$2F~ZHIk+;Zn5M+3Qxf>W>?@&!Fncap|b52pqPgcCPq@p`!X8Gjv;7 zgK_NDrn$NLz1urDkO1J=Xxz8n7$`RMUOPoh`{_y4 y+of1d^bw{7&$nqQVh zO}D<&jKx@D^E&j4(z=J+(dp>AVFr-)`3<*bFeOli+ON@6<~6;D^{_Y~RNw|QmDN7W zUE@8k`0tWb7wO{T8&g##$duC7#|e7Z6ItYuvi2~l2)0C3nU0{W1S?lTHF2ihSVl}; zS-gh91v?oad=F_Zz;7z=W)R^9s@!O9&IRL47rNF#{Ufxkr=|`-=3n#;delTY?P9 zVX18%Tu3rB JF;QA(Ho++band11V7wGUK|7Mz2ON#Xq4Q)i!FZtF} zaXU*HT_H)D60QdsQozi{HiJ*3IgabF_pe8^V1R%XI!J-)F-2KwW?$QH{9u;+-7|4s z!EbSKE{tjxmOkF &$T#2fZun|4tl?tRPmZn=xg z1q&nI3;>|zs|mGSnZCkNzl^R)Up(uH?0PrMT?k1moEp{FxSeIMpZqJdITo+4>`hDW zl_Nu&gvAg{$n*|4@paDDd#v>Y 69S-?*5HkDjD^rhPTcK=m9N){ z`{eL*1xfB8XlbiTLwr^=L?TwlWJpAO#FyhVw$l0Es*@F*fMs!Kd#_Z2!hFc`wt39C z-Mn`m9#HuF`XRmQOoA0~+f3J%p)S>HL #E}=qQ0zF)@ zK`(4RHb-ZV7;!U>`v`QZRE^qUT=Vjpn}L<)KvoTkVSa6k2M7<|q4583@&G@LASkuO z1+|LmUjW(vZO@H2=SGGvXM&y|jUN^#yF&VozN8OtZLWgcLw9f7n^I5^eK##LzHn`1 zq?>kc43+9495<0Q_e@@X&s9R &qc~Rg~>!0!N>&cO+ zdX@7GOTRzA?Rt*ywO`VFBO)S{&aN`|wnOTmSf8z3eB1KpU%(O<7Y~c8;{E^Z{{8H9 zvdg?xR{h;_ker<20o(gInsR6faX+(K Q)C_*<>1pAqf9L-P7aF-7 literal 0 HcmV?d00001 diff --git a/src/components/Home/Main/MainPage.tsx b/src/components/Home/Main/MainPage.tsx index 70ab36d..e8cebf4 100644 --- a/src/components/Home/Main/MainPage.tsx +++ b/src/components/Home/Main/MainPage.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { View, Text, StyleSheet, TouchableOpacity, Dimensions } from 'react-native'; import { useNavigation } from '@react-navigation/native'; // 네비게이션 훅 추가 - const MainPage = () => { const navigation = useNavigation(); // 네비게이션 객체 사용 @@ -26,7 +25,16 @@ const MainPage = () => { + + ); }; diff --git a/src/components/Home/MyPage/MyPageHome.tsx b/src/components/Home/MyPage/MyPageHome.tsx new file mode 100644 index 0000000..226260c --- /dev/null +++ b/src/components/Home/MyPage/MyPageHome.tsx @@ -0,0 +1,73 @@ +import React from 'react'; +import { View, Text, StyleSheet, TouchableOpacity, Dimensions } from 'react-native'; + +const SetterMainPage = () => { + return ( +임시버튼(하단바 생성후 하단 바로 옮길것) +navigation.navigate('MyPageTabView')} +> + +마이페이지 ++ + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + header: { + fontSize: 30, + fontWeight: 'bold', + marginBottom: 10, + }, + subHeader: { + fontSize: 20, + marginBottom: 20, + }, + chartContainer: { + alignItems: 'center', + marginBottom: 30, + }, + buttonContainer: { + flexDirection: 'row', + justifyContent: 'space-around', + width: '80%', + marginBottom: 20, + }, + singleButtonContainer: { + alignItems: 'center', + width: '80%', + }, + button: { + backgroundColor: '#e0e0e0', + padding: 10, + borderRadius: 10, + alignItems: 'center', + justifyContent: 'center', + width: 140, + height: 60, + }, + buttonText: { + fontSize: 16, + fontWeight: 'bold', + }, +}); + +export default SetterMainPage; diff --git a/src/components/Home/MyPage/MyPageTabView.tsx b/src/components/Home/MyPage/MyPageTabView.tsx new file mode 100644 index 0000000..9742670 --- /dev/null +++ b/src/components/Home/MyPage/MyPageTabView.tsx @@ -0,0 +1,79 @@ +import React, { useState } from 'react'; +import { SafeAreaView, View, Text, Image, ImageBackground } from 'react-native'; +import { Tabs, MaterialTabBar } from 'react-native-collapsible-tab-view'; +import { StackScreenProps } from '@react-navigation/stack'; +import { HomeStackParams } from '../../../pages/Home'; + +import PortfolioPage from './PortfolioPage'; +import Review from './Review'; + +export const ProfileSection = ({ navigation }: { navigation: any }) => { + const UserName = '닉네임'; + const selfIntroduce = '인스타 link /n 블로그 link 링크드인 예정'; + + + return ( +Main Page +Matching + ++ + + {/* 버튼들 */} +현재 제안서의 수락 현황은..... ++ + + ++ +요청서 수락하기 ++ +제안서 작성하기 ++ + ); +}; + +const MyPageTabView = ({ navigation, route }: StackScreenProps+ ++ + {UserName} ++ +{selfIntroduce} +) => { + const [routes] = useState([ + { key: 'portfolio', title: 'Portfolio' }, + { key: 'review', title: 'Review' } + ]); + + return ( + + + ); +}; + +export default MyPageTabView; diff --git a/src/components/Home/MyPage/PortfolioPage.tsx b/src/components/Home/MyPage/PortfolioPage.tsx new file mode 100644 index 0000000..3d31e60 --- /dev/null +++ b/src/components/Home/MyPage/PortfolioPage.tsx @@ -0,0 +1,82 @@ +import React from 'react'; +import { View, Text, Image, FlatList, TouchableOpacity } from 'react-native'; +import { Tabs } from 'react-native-collapsible-tab-view'; +import styled from 'styled-components/native'; + +const PortfolioPage = () => { + const data = [ + { label: '실력/경력', data: '한국패션디자인공모전 동상\n업씨패션회사 인턴 6개월' }, + { label: '포트폴리오', data: 'portfolio' } + ]; + + // 로컬 이미지 데이터 + const portfolioImages = [ + { id: 1, source: require('../../../assets/Portfolio/Portfolio_1.jpg') }, + { id: 2, source: require('../../../assets/Portfolio/Portfolio_2.jpg') }, + { id: 3, source: require('../../../assets/Portfolio/Portfolio_3.jpg') }, + { id: 4, source: require('../../../assets/Portfolio/Portfolio_4.jpg') }, + ]; + + return ( ++ } + headerContainerStyle={{ + shadowOpacity: 0, + borderBottomWidth: 1, + borderColor: '#D9D9D9' + }} + renderTabBar={props => ( + + )} + > + {routes.map(route => ( + + {route.key === 'portfolio' && + ))} +} + {route.key === 'review' && } + { + if (item.label === '포트폴리오') { + return ( + + + ); + } else { + return ( +{item.label} +image.id.toString()} + renderItem={({ item: image }) => ( + + + )} + /> ++ ++ + + ); + } + }} + keyExtractor={(item, index) => index.toString()} + /> + ); +}; + +// 스타일 정의 +const InfoSection = styled.View` + flex-direction: row; + justify-content: space-between; + padding: 16px; + border-bottom-width: 1px; + border-color: #DFDFDF; +`; + +const PortfolioSection = styled.View` + padding: 16px; + border-bottom-width: 1px; + border-color: #DFDFDF; +`; + +const ImageContainer = styled.View` + flex: 1; + margin: 5px; +`; + +const PortfolioImage = styled.Image` + width: 100px; + height: 100px; + border-radius: 8px; +`; + +export default PortfolioPage; diff --git a/src/components/Home/MyPage/Review.tsx b/src/components/Home/MyPage/Review.tsx new file mode 100644 index 0000000..ebcf46b --- /dev/null +++ b/src/components/Home/MyPage/Review.tsx @@ -0,0 +1,88 @@ +import React from 'react'; +import { View, Text, FlatList } from 'react-native'; +import { Tabs } from 'react-native-collapsible-tab-view'; +import styled from 'styled-components/native'; + +// 필요한 컴포넌트를 임포트하세요 +// import Slider from 'your-path'; +// import StarRating from 'your-path'; +// import ReviewComment from 'your-path'; +// import ReviewItem from 'your-path'; + +// 상수 정의 +const LIGHTGRAY = '#D3D3D3'; +const BLACK = '#000000'; + +// SummarySection 컴포넌트 정의 +const SummarySection = () => { + return ( +{item.label} +{item.data} ++ + ); +}; + +// 스타일 정의 +const ItemContainer = styled.View` + flex-direction: row; + padding: 5px; +`; + +const Container = styled.View` + padding-vertical: 20px; + padding-horizontal: 40px; + border-bottom-color: ${LIGHTGRAY}; + border-bottom-width: 1px; +`; + +const RatingContainer = styled.View` + align-items: center; + justify-content: center; + padding-vertical: 15px; +`; + +const SliderContainer = styled.View` + padding-horizontal: 40px; + flex: 1; +`; + +// Review 컴포넌트 정의 +interface ReviewProps { + flatListRef: React.RefObject+ ++ +4.0 ++ {[1, 2, 3, 4, 5].map((idx) => ( + ++ + ))} +{idx}점 +3 ++ +거래 ++ +디자인 +>; +} + +const Review: React.FC = ({ flatListRef }) => { + return ( + index.toString()} + style={{ marginBottom: 60 }} + /> + ); +}; + +// Review 컴포넌트를 default export로 내보냅니다. +export default Review; diff --git a/yarn.lock b/yarn.lock index bf94f37..b843edf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,7 +14,7 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": version "7.25.4" "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.20.0", "@babel/core@^7.23.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0": @@ -62,7 +62,7 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": version "7.25.2" dependencies: "@babel/compat-data" "^7.25.2" @@ -98,6 +98,13 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" +"@babel/helper-environment-visitor@^7.18.9": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== + dependencies: + "@babel/types" "^7.24.7" + "@babel/helper-member-expression-to-functions@^7.24.8": version "7.24.8" dependencies: @@ -126,7 +133,7 @@ "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.24.8" -"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": version "7.25.0" dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -216,7 +223,17 @@ "@babel/helper-plugin-utils" "^7.24.8" "@babel/traverse" "^7.25.0" -"@babel/plugin-proposal-class-properties@^7.13.0": +"@babel/plugin-proposal-async-generator-functions@^7.0.0": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": version "7.18.6" dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -228,13 +245,40 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-export-default-from" "^7.24.7" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": version "7.18.6" dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.13.12": +"@babel/plugin-proposal-numeric-separator@^7.0.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.20.0": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.0.0": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0": version "7.21.0" dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -360,7 +404,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.24.7": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -390,7 +434,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-transform-class-properties@^7.24.1", "@babel/plugin-transform-class-properties@^7.25.4": +"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.24.1", "@babel/plugin-transform-class-properties@^7.25.4": version "7.25.4" dependencies: "@babel/helper-create-class-features-plugin" "^7.25.4" @@ -403,7 +447,7 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.25.4": +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.25.4": version "7.25.4" dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -538,7 +582,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": +"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -570,14 +614,14 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.5", "@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": +"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.5", "@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": version "7.24.8" dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.24.7": +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.24.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -646,7 +690,7 @@ babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.24.7": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -662,7 +706,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-template-literals@^7.24.7": +"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.24.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -692,7 +736,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.24.7": +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.24.7": version "7.24.7" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.24.7" @@ -805,7 +849,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.13.0": +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7": version "7.24.7" dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -866,6 +910,23 @@ dependencies: "@types/hammerjs" "^2.0.36" +"@emotion/is-prop-valid@1.2.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== + dependencies: + "@emotion/memoize" "^0.8.1" + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/unitless@0.8.1": + version "0.8.1" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" dependencies: @@ -1552,6 +1613,14 @@ resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz" integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ== +"@types/hoist-non-react-statics@*": + version "3.3.5" + resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" @@ -1598,6 +1667,20 @@ "@types/stack-utils@^2.0.0": version "2.0.3" +"@types/styled-components@^5.1.34": + version "5.1.34" + resolved "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz" + integrity sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA== + dependencies: + "@types/hoist-non-react-statics" "*" + "@types/react" "*" + csstype "^3.0.2" + +"@types/stylis@4.2.5": + version "4.2.5" + resolved "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz" + integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw== + "@types/yargs-parser@*": version "21.0.3" @@ -2052,6 +2135,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: camelcase@^6.2.0: version "6.3.0" +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== + caniuse-lite@^1.0.30001646: version "1.0.30001663" @@ -2264,6 +2352,11 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== + css-select@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" @@ -2275,6 +2368,15 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" +css-to-react-native@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz" + integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + css-tree@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" @@ -2288,7 +2390,7 @@ css-what@^6.1.0: resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -csstype@^3.0.2: +csstype@^3.0.2, csstype@3.1.3: version "3.1.3" data-view-buffer@^1.0.1: @@ -2377,6 +2479,11 @@ denodeify@^1.2.1: depd@2.0.0: version "2.0.0" +dequal@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + destroy@1.2.0: version "1.2.0" @@ -3913,6 +4020,51 @@ metro-minify-terser@0.80.12: flow-enums-runtime "^0.0.6" terser "^5.15.0" +metro-react-native-babel-preset@^0.77.0: + version "0.77.0" + resolved "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.77.0.tgz" + integrity sha512-HPPD+bTxADtoE4y/4t1txgTQ1LVR6imOBy7RMHUsqMVTbekoi8Ph5YI9vKX2VMPtVWeFt0w9YnCSLPa76GcXsA== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.18.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" + "@babel/plugin-proposal-numeric-separator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.20.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.20.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.20.0" + "@babel/plugin-transform-flow-strip-types" "^7.20.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.4.0" + metro-resolver@0.80.12: version "0.80.12" dependencies: @@ -4074,7 +4226,7 @@ ms@^2.1.3, ms@2.1.3: ms@2.0.0: version "2.0.0" -nanoid@^3.1.23: +nanoid@^3.1.23, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -4350,6 +4502,20 @@ point-in-polygon@^1.0.1: possible-typed-array-names@^1.0.0: version "1.0.0" +postcss-value-parser@^4.0.2: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.38: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + prelude-ls@^1.2.1: version "1.2.1" @@ -4443,6 +4609,14 @@ react-devtools-core@^5.3.1: shell-quote "^1.6.1" ws "^7" +"react-dom@>= 16.8.0": + version "18.3.1" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + react-freeze@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz" @@ -4476,6 +4650,13 @@ react-native-chart-kit@^6.12.0: paths-js "^0.4.10" point-in-polygon "^1.0.1" +react-native-collapsible-tab-view@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/react-native-collapsible-tab-view/-/react-native-collapsible-tab-view-8.0.0.tgz" + integrity sha512-p3/CfBtCn/7qAllFeBM8KI4cCqqYfE0gzO/bh/oX6ewk2hE7HF0QQpZBGZlLdLJDo1lUXRlTSP2VLAYgky2maw== + dependencies: + use-deep-compare "^1.1.0" + "react-native-gesture-handler@>= 1.5.0": version "2.19.0" resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.19.0.tgz" @@ -4491,6 +4672,28 @@ react-native-iphone-x-helper@^1.3.0: resolved "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz" integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg== +react-native-pager-view@*, react-native-pager-view@^6.4.1: + version "6.4.1" + resolved "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.4.1.tgz" + integrity sha512-HnDxXTRHnR6WJ/vnOitv0C32KG9MJjxLnxswuQlBJmQ7RxF2GWOHSPIRAdZ9fLxdLstV38z9Oz1C95+t+yXkcg== + +react-native-reanimated@^3.15.3, react-native-reanimated@>=3.8.1: + version "3.15.3" + resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.3.tgz" + integrity sha512-5QBk/7PZvZ98Adxm4MRyglwzsRzReTQIe4Hd2wbBBAZ68IC4OYKvsc8cPEjgx3/1mG8HgHFYhbcDe5U2RjeFqw== + dependencies: + "@babel/plugin-transform-arrow-functions" "^7.0.0-0" + "@babel/plugin-transform-class-properties" "^7.0.0-0" + "@babel/plugin-transform-classes" "^7.0.0-0" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0" + "@babel/plugin-transform-optional-chaining" "^7.0.0-0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0-0" + "@babel/plugin-transform-template-literals" "^7.0.0-0" + "@babel/plugin-transform-unicode-regex" "^7.0.0-0" + "@babel/preset-typescript" "^7.16.7" + convert-source-map "^2.0.0" + invariant "^2.2.4" + react-native-safe-area-context@^4.11.0, "react-native-safe-area-context@>= 0.6.0", "react-native-safe-area-context@>= 3.0.0": version "4.11.0" resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.11.0.tgz" @@ -4590,6 +4793,11 @@ react-navigation@^4.1.1, react-navigation@^4.4.4: react-refresh@^0.14.0: version "0.14.2" +react-refresh@^0.4.0: + version "0.4.3" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz" + integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== + react-shallow-renderer@^16.15.0: version "16.15.0" dependencies: @@ -4603,7 +4811,7 @@ react-test-renderer@18.3.1: react-shallow-renderer "^16.15.0" scheduler "^0.23.2" -react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, "react@> 16.7.0", react@>=16.0, react@>=16.8, react@>=17.0.0, react@18.3.1: +react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, "react@> 16.7.0", "react@>= 16.8.0", react@>=16.0, react@>=16.8, react@>=16.8.0, react@>=17.0.0, react@18.3.1: version "18.3.1" dependencies: loose-envify "^1.1.0" @@ -4774,6 +4982,8 @@ safe-regex-test@^1.0.3: scheduler@^0.23.2: version "0.23.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" @@ -4869,6 +5079,11 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" +shallowequal@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^2.0.0: version "2.0.0" dependencies: @@ -4911,6 +5126,11 @@ slice-ansi@^2.0.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +source-map-js@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + source-map-support@^0.5.16, source-map-support@~0.5.20: version "0.5.21" dependencies: @@ -5058,6 +5278,26 @@ strip-json-comments@^3.1.1: strnum@^1.0.5: version "1.0.5" +styled-components@^6.1.13: + version "6.1.13" + resolved "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz" + integrity sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw== + dependencies: + "@emotion/is-prop-valid" "1.2.2" + "@emotion/unitless" "0.8.1" + "@types/stylis" "4.2.5" + css-to-react-native "3.2.0" + csstype "3.1.3" + postcss "8.4.38" + shallowequal "1.1.0" + stylis "4.3.2" + tslib "2.6.2" + +stylis@4.3.2: + version "4.3.2" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz" + integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg== + sudo-prompt@^9.0.0: version "9.2.1" @@ -5137,6 +5377,11 @@ tslib@^1.8.1: tslib@^2.0.1: version "2.7.0" +tslib@2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tsutils@^3.21.0: version "3.21.0" dependencies: @@ -5241,6 +5486,13 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +use-deep-compare@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/use-deep-compare/-/use-deep-compare-1.3.0.tgz" + integrity sha512-94iG+dEdEP/Sl3WWde+w9StIunlV8Dgj+vkt5wTwMoFQLaijiEZSXXy8KtcStpmEDtIptRJiNeD4ACTtVvnIKA== + dependencies: + dequal "2.0.3" + use-latest-callback@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.1.tgz"