From a4f56a25761934bff14a6ee2e9813dcc5faf7e07 Mon Sep 17 00:00:00 2001 From: Anita Date: Wed, 25 Jun 2025 13:19:04 +0530 Subject: [PATCH] splash screen and redux --- package.json | 3 +- src/App.js | 21 +++-- src/assets/Images/logo.png | Bin 0 -> 26298 bytes src/constants/Images.js | 3 +- src/navigation/Routes.js | 23 +++++ src/redux/reducer/index.js | 5 ++ src/redux/slices/authSlice.js | 33 ++++++++ src/redux/slices/userSlice.js | 25 ++++++ src/redux/store.js | 5 ++ src/screens/AuthScreen/Login/index.js | 12 +++ src/screens/AuthScreen/Login/style.js | 0 src/screens/AuthScreen/Splash/index.js | 99 ++++++++++++++++++++++ src/screens/MainScreen/Dashboard/index.js | 0 src/screens/MainScreen/Dashboard/style.js | 0 yarn.lock | 15 +++- 15 files changed, 232 insertions(+), 12 deletions(-) create mode 100644 src/assets/Images/logo.png create mode 100644 src/navigation/Routes.js create mode 100644 src/redux/reducer/index.js create mode 100644 src/redux/slices/authSlice.js create mode 100644 src/redux/slices/userSlice.js create mode 100644 src/screens/AuthScreen/Login/index.js create mode 100644 src/screens/AuthScreen/Login/style.js create mode 100644 src/screens/AuthScreen/Splash/index.js create mode 100644 src/screens/MainScreen/Dashboard/index.js create mode 100644 src/screens/MainScreen/Dashboard/style.js diff --git a/package.json b/package.json index 1c28564..df6f81d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "react-native-screens": "^4.11.1", "react-native-sqlite-storage": "^6.0.1", "react-native-svg": "^15.12.0", - "react-native-vector-icons": "^10.2.0" + "react-native-vector-icons": "^10.2.0", + "react-redux": "^9.2.0" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/src/App.js b/src/App.js index 9115a3a..24e90be 100644 --- a/src/App.js +++ b/src/App.js @@ -1,12 +1,15 @@ -import { View, Text } from 'react-native' -import React from 'react' +// In App.js in a new project +import * as React from 'react'; +import {Provider} from 'react-redux'; +import Routes from './navigation/Routes'; +import { store } from './redux/store'; -const App = () => { - return ( - - App - - ) +function App() { + return ( + + + + ); } -export default App \ No newline at end of file +export default App; diff --git a/src/assets/Images/logo.png b/src/assets/Images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..11a738ac92c7253deedbf607c6c3327b530e1e87 GIT binary patch literal 26298 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ⅅ=ECGA2Rs7LsA{cO!=D;u9nRX;Gb)>mPc{@%t-&Zp~#-2*}Q`$OI{AkkMB-M zs(H~s%^2PCoy(r;?d3+Z$MwI~J$mc|#?_%Z;(CJIz-xUv0Dijj#;GncOf+6fu8y^~ zhoa%t5rgSs_wQhugX-orUAYQD$AhTBaT@2X$WQe!^cl?|Iv$D>*$3d%48xE~>&j%t z=GD#zBl?<$_=m9SVsb(&kbC8``A%3K?9QwCr}hUfO9JJg%+ZYVoxP3w%u~$n_a258PSYH9e7LjX zRE!qgJZ(jCAo+Jef&%Nn7Spm>xYvu^u-Aw_4-D%1o}Y=`7yJD%2o}LiZIX$Q%&Xmf zGW814XA=vrx2N9{x_NHj{_R=_>t4?RPD(htBGbZpk2#CY=xO9Oo(RJI3=yM~6`!@^ zf0ZZ3m>-fqn(bUxvb#BAQ8A1>y0Y4Ur~24T^*>e zv0A7UtEcC!qOTp;2Naw^fm0%jdX2~ko11$o=kWYPxg(TbN-2q275_`JxIpHSxel!9Y@Fttnvii)l zoYG3JMIjrEY7u{_T5O-_)oXbCa0MwWo7uOnYMyQ5usJy{xQ_5Dv2w7F6m3Y_UmvL7 zUSRCW(4Sw4;a5sK$Yt59kati`)_%51`xqh#G9m+!1Nrn?M^(x(IJMWHP1;;H*!#Ae zB0We4BoKXQTjp6A-K}TYBBiN#zEfHaPF$yyt>*4$KYd+ zT)aa$?Ds1^u!d=>Gx=}4Zr=SCE`Xn&8jgOvS)~fTV zwe=5a;L+6)+3gW|hr@Hx1qm_}>gz5?UJSiJ970))Um?Qs!70$w+V^=KVdsMDxcR6J zqw67BFrX$i%ax>PcGXKMcMbt|TM1M29R)n`n16X8Og2HB?Qg>EorAYG&pHP|apx6O zY^q-2NfW|x^Pfle%A!4ttu0g!Usp_0!zUWyK+V1NM(zn6(9^6~?Qr#34QR=s2Z3G6 zUKgde6I@r9vF;fMVUB)g^+J7f*5MKniX1^dh?a)XEHm2^EnTL%?I;vS#;?(F_y`_} z8POdwqxO#YWAezWB=`(r?#jeQ$P4wB!w2Y}VZx~4$}laP^m9*-!KHm9)yMEIkIpW* zbQ8A)AX^wfl?8vBvg`eT;HEw_ybUf5)e<>S(KQ;_pHoPDIG!Kh((UN#+K!^GJM#V8 zP?lLf+_N{-bOHdswDb!*M&*;Hw|!5S9H5-O6fw-^^x`_MQ}a245hhNspCK84kM~gb zH@GipK%5@&eWoIsCO)~9iY!|CF!pds2Wf#?zu?D~K8UnS->GH9W!inUsP~H%P)-_< zML)Li%dlWgK z^aSu>HSxm}7&En(hemqi?LEk}2n8r|$cP`mFEm)#b&!^TBP7sl>#ohG(FmI@WvX+M z;?6_VHmF`29ip7rUA!QOZz0@i%tkbH$Rv8w+8)#sBtf5`IQF^~A-v0~@MOaGe~B>) zp|8Azrh=cTTCwF#J$0y-$Lg5u&v1D%*>IeA8F!(?p`kW;@GV-hB2W(H#q9x^%%gP} zoghr`C5S-UIQo6{R3q()4VHb0H@We3TId0yL#*|DlFdp@RB+qhWglQo6>4^-Zsjaq zjd5gJh@pt#@GUNUqT;;rk}WM!D5r=o=MIJ9yJ(@jL_RgqAV^cz{eaYi0!UYK)#YE1 zFr)dDjIfqUkJfj9M11xt`6(HH6l2Aqg55279_)45qCf$8vFxwS4po-K5i}6~tLFs4 zebtd$N+HiO)CWDyd>9z%`AqSKYX$Gae^r_IXv9lr2;$W=*;#bu4E`S46#^4D`5^-# ziTovxtc2o7S*H?ok4NwRv&Sp4XaPKJPI=o5X@YuNcsJLij-2LyFWa6tmHI}qtf^X1 z;Ym8en)Hm;IM?)k3x*h4Gqfxcpb6~wtT|m9kf8>ZxRG7RsCDCy7uXMWHvkZJG&!9L zv^tH*V>&;wJCjloUct9KOnA6IGahP95yKf2%1oF$*QH_>MFs*JyI6{HagP3v#wl>P za3Cl_8P5~-pzN-9-m7<6$Kcj>irQJHnEd~tj)Pjqb8Jin${{JS?#%M}{NZaEMoC3% zochd!@2X<)X-*m7NQ|6%zvmZgX(aatdkkP>l;#m!`Pdw1tQS#rrFrftuYecy~!=F>a*lSPk~mGl8Iya|^azEXGP z9)JG5r!i2DvRnL?1CN;wr-QQatwr;vf+fqKl9$X&(BcHDB)_BAF(nu!Tj%5Kb-u$M z-+IkHLKZ1Y0{u_l?7DD-Li!*~12e&q@8KCsa#_L6hn7rgafc!!6k$+F0X!CRc{2YV z6d2YqRb_s4?r*DL+O?wzK*s44d(FOnKwNB}0hQ^V!Q$ z%!CE)WF-?8Ro{QZKZ0%u;OEDD?zR$P!;y2&$-|Uy{-4p`QXkW9G@f#`w}hbub?`32 zp>@_IxQy}|8*I1b+v1~gk@ChxLP~vU*maz0Uj39b-taGaNY|zK zU@r_D^ZYqyG!)02S3e_-$Nm}HF=1Ag`6t*pXqh0Mea<$gmALEyW-c$3z-!NcaDN8V zv&lj6|CXD3@Kcx+hZT7IDm3Ns;ocaulr;APs&M`M6}(*1lXZ73CWn6@qoS70K$OLV zy2wz$rRD7EE_!Iu|IfEH$238WVHIqa2gQl$y7(lk^b@;O2X!p|7@2IdF7Z2#bZZ(l zQntgyL;`hys;hUMq=SD-u=G0284%bfY9@KL*>ia8{Tu3S(((GNN0@s?rru>^gp#?_ zEW!eb=t2suAkQA*p&%MlMGf~19E~;)CQf7QX??g&2Ne=;(DihiP;#_Q*6S|hT+)%g z5XJ|e%c{3k#@{vi7c}lBwc89tlY&vOTmO`IkIYD3&GR+;2`2-)oP=2;^3UT*oEG4X6l~ zu@bJz4d#f={?khfO|g4yX%E6HZbl~K4=Z+m!@WOl5>?Qk2W%04q1VZ{WEzp)h4e2O z9x1l(x3|uTI1-6Cezp-R|2j?~7Mm4?@Oma)Uj0$sfaRY_k}N^uhP%aKE29vSO6;FH z@ABpxY_<2rE5eXb!{5gezisFejAgJgJ+fue2h3AyxUYEE4Q+@fUmc)tpt8J>A6Dm|M~WkF=R0VEi_ICK!yrp zEgAg0+B|r5_MdN2US%*yMwH#eMaNRXDY83^S0sM=9NCius!sNt|F_W3t_PwJr&v~5 zIgQUb2cC24o2l9n7l61zyvaT&A68X^aiULc%$D5LI{+(D%X~@}Z=tw$S=vczcv!>x zT+OEyy=`5WXa9Kvr5I0vik(yPo3f&^Tvsv)GFg=ESQd_TZ0kQ+QmOq+AZ-h_onwMd zn7B+m^@ZHa)&H3Y)WmfFu;veV0dh);yqv<8{Ew7O5_FGjK^HTaUdG`g_XOD3IO}bC zaZZ={OsE6SjQ^%ld*`oqt0o{M@6rC`FVSKB2S55oK>~yfJ@^XX-WIVnGR|Wy zcQiqgNs!rMNX#T9&ZOsR%8;}T`@dni(lN5^Uy-6Y!__{=;D5K{{YT^j%XC}m3=gU+ z;)CGz^qy@AQ2Cjoh0UwL>Q%-TTkli$QMXm~=l1$@%9m#Esh$ zHC(@#m0naBR$xAuX@PALECQh~fad!%Va2n01+ zX!>~RuD*l2@7rJ~j$r`*7s`(0KZ*?qMQ`Y5Cc>Pjr(Kl~HAtZI{Np`0nvVt`fs(;0 zt43WkAd3`{^eE0sNPw;^SMyN{<*F8X@&t^fP3S#N2ar^mN3;RsNCV|7of z(zrLK{WthHjl1`^u>~kjD{C@q*)E0RKP5q-oP7*vHfg63Q%qbMvxZ3f>A1t92!J$F z#5op}$EQ&B*(k8<>t!_#P+J8>#o^GJiWa5Ngm~{3W&-@lO^A)e&7;60aAIotmR0|P8e;Y;tteSCKROd@$y zd$%PUQoDPHFhQiqYX7ago|>J(q-&tDv!yOGAGx+zqdhp{HRPhaQxWJOj+%ncbaxeT z?o25Q$EMIKL)o0rE~V3HaaM8mMRx`})7z}DaeJkPrC6)DQvdm`bdA#SXk)8EryA4J zZ*($Kvvk zl>ucj;&J}{Z_h2~&pJ=FC)cs&S~!o^;Bo`Ja`=RArXR)jf;f5 zxM|!&PYN}iyl9YQdB0d0*Q9$9SGjYpfM8wY9zr+l6!tl&&R7Hoh2)nf=L^{bonV6~ zI6koZ5w020Im&eEZxH7Tk1<)^vH$*p!Q*{i$6k?Ta}g=s)%NUIBcbPrzATf4`S4x_ zwD_*qh%RP~!LmZG*|g*O@b(``>y?R?uD(Cxp0{R&sQNqPWs0n8PTh)-FG`g#alC_4Y(dX;*DKlo5$z-)rE3G5&HL0PmPeX33$bj>|zgw;eP+TJp zieogoKiH|7{Imo%_v?jd>s8TLZN^{ZtGwX(wAvOJ_%||OV^c*Ezn90|EjDZYoilT*AKJj$(U#aM9 zPI@X1o72f*FGQ_&Hotj!7yq46qj8SHxF%pn;PmPA$Ab6QD;ZIj#-7kv6`P*XSr;rt zOm@|s9BYVh+IpdWQ3Pr>Eo!6Rxvtgdn^~1EuHFHvP0J@VDk4wm^l19EP=ya8UQJvA z3oS*MM!Mj-`T^*%V(x+SFZ)ujZ{Ve-?z~zmu~~f#QBHgyXT2>Um#Yf0y|vKHE9> zQ?%`_$=TddeTHR9xXrw__bp%G|0SlI+Vz6hYEVB1lHVFC^Z-?!;vd0{ukc^==o(aQ}5!+q!}MM zbGLVXI6ikb(PR=)cAZSet-_p)do7m+Wz@T%(mM9tFYe>aEdOkPF$_I3c_orVVJ-7v z5wcaf*`}h9TvjPobTX||L3Ggj%AD8tH)j`}rIoA2Zeg+?UC;xz9o8H$%O>S0yUouT zxV`xve(vU>@!*Ht6vhG?;W@s9*{v}KLdu}-C%UPr z&k?PyQVj{WrYD%)FoLsk1MmG_v*;H`#2_Xo^lc-E2=r&Fro;zHaST)Q7d=h&=f%-gMy^_ zgp9&!aAMXnN8CqbDa~xUnAN@s?>%Jj#bhr( z2<<-(`Xd5c3|GK5>DDB|de2$KlIMK4*3ZQ3+mBh}kC(hQPIHE}{Smv_hwm?Zh+OoW z9EpDo+LzY1bxrKw){?;i4aTWLHY}%_#jGLp;@lft!?JygbPLt%Gg1P^MUU>du@!or zfJVswebMF8%T6HXkhu>J!(F5=B(nL=mjpg)lU=c2A98E66x7RUOz@e>oSRNhT>q=` z$JA?B95og`7+;VEC}vkXaiei@AOVuAscoTi#eJA6e#=kZZ_Wqxd+c zYGb;K7uj{<+jCkww%-N!*Wtg!%{_l-2JY?tVNfya61JH3oBe3n99=d{74T=-^5c$o zN6Jke{SKp*ya>8(cEa;xr{C@TVo`9SxWD^taWmD?DKcc>VT z4xUvxi^tZT4BY&-6P)W~%N6{T1ctunl^h;fyFq(`q*H+Bd`X`V^SX&bzh6^iCRSJ9bo^ajW+^4y&P{H)@v{SGZ_QFYTU^ma zxAECLl!Wi1?}%}EXeDXFPRMF7iy0qi%CPdSJP6HNDA0`3^@@g}aqCyCN6h_2(4~k5 zIl`x}c|C915^Io>LsK2fx7cPX<8*0;JvC|t0xqwXT2};|KcP(UVa#9L8riIuM5+o` ze5r;?uWk=721v?m6CzILr7j?>zs`buEkvB_l(hR}&lYi{uW@ebqP~YqaJ+5xTv4-e zR!7|}m@LbyiowSy7BgSW7zey!IM%qs(aLx-E-TxX;@GJ-EwLVVT)*ah4&KT4{`sM> zBt*7PVU-fzQl*e>w$=Yo;r(y`Dz2@DIdjL(e9OqQ^UhePSVyVDFl2FeYq5C_=c2o9 zotu;1c8o*z%eyvvqn-8hsg-7VfxSKA;fjA9j^^cQ8JOyLh?eFl9|_o+78@7m36sdN z^53*T&T{&Aj9duTE|#mIh!!@D4LfzYXkD^tQeN_MoV17SsPqgS-1F_dC}oU^f`3|8 z;EI;(`qo^flnG_k*L&2UoK#NcmU z`|jyl=|Eh?uA#oPQ9pa}FipN3*q7R+J(J^5$ll<`S5!af(pZ|vVwJGpn=5SKuyf=N zu|w@9H}D&Uyw|>`-M}s>j9Tk8R<)HgM}q3@K6ayeqsmWkqagY?q^&7?#(!@4LWk}! z$%t@X`D~ud;O;{Wj3Bx>q!S}W4c8td#og8Qcjb!;(McDHsp(t7&(Tk0E|92WXzq)+ z7=JcpvPhqp@niSwS1zIvK^HhvRm0F(!d6Hbx}UM)*#&Xpnmv<9ncX>Fywt}^de#a9 zh|_gn49bW(f;M@k-8N^1wx^?Md{0&>?rFkIm=J#HwCvu7IwusD9KsRX^2uB4{zY@B zS=0ubhezQ}T^4G1wFM#hTJC!cP;($W39kY{^{iC7k7ba8uP0>s8Mp? zE06s1`_(&QAL%Cls1yB?P5n835orj-gqo!;Zj`1Q7E_>kyVpviJQHtQ0|^IS{@FG? zClmMl4rV1V55&C>1Dxh3A7YRnkB~e?iLWTbNaR-5esrTANJ9w^SY)%*X<$HK(HSoB?oyMqWV~?K zz0V?4s6sl+T-RXQ@k6|VvB_jdAzJ&s2F{?`&l}fcY?hx*GYhnJ17qhcU_9&$j(P@d zW@}0Zpo41{H7D6#A!2Yiut49|kmHzk5|%$7+x#wUO-R;gmD7zt6KFHC1jmfM z!`*cg8Rz_5Zf@P^+h6eJe6Ky}pfP4p)mX^EQ?<8^_h3Ay@CQbrh{;L&0pvYi^-mv$ zT^jPM_z2DB^5R?DlM3eLCpk&YbR+g`$AK0(vU^QGWUXv4K=KKLxma>?1B{G;agVR@ znpHF1;~nV{O&A*C$)ubL4)w1|+fM)pG|sJyM=0!;f71&U7x(|WItS{S8-=%uOClg` zLp@jtJ7VDqua{N7;pZ>}C=->UxZE1mvN*x1u~IdCr|hn&C7eWl=R z>@~EGudUl+C7cv7`xM6N@pyD;+$L!y_jcuAT2`oFD@aZDKRjXE|Git5!R$Bxhay%}EoOWgdKQw4d%= zRxrb9C)p|+7g$`A@XU$7D7ev+u90ZJ^h?2g@Xo&Mu1P~2T{ zH`md$$4RO|`$k*!RDqiLxZ!@jki@~q<`z(ai4H|SF0|P9&R5D)pan#1KZs6VFzvsb zp~{;*h9IT;3F>ff-U&JJPHpy5(|zeuH3BE;giAq_es`_B38nt!+y2luJgJ_Thels;B3#^Y5Ij!O~-=E-AK+#Se}R^%Ai7Pt7R#8iLVFWq=a~1v0JSjq<-5hHl~azO9C4qEiX_vrG+rwWongPMIs{dH20^H`w>7M)i6I^y-Dm zV1~eTWMWJ8-=09b`^^iIOLBO_@o&%P6Xn3(K)qpD_o1n&{pes18U%oI_^4_c&jtJ~ zsM(K+eUInS$O~y%IW2pfx9;gXPq1y7i#B#_l^AH`kXu+_zK+Sxs!vu5nW+vz_F>jW znOqv4>;v6xqq-S;&lrPzzs~LIh_O|p-bakMlp#ZoIwsWOgzBlUBE1s^u z=V;&?kINS#hIt?MuPE;OX6GQ4)RP$8CojogKi>0NzvtBuU_Kv-u%>)UPTOh*9}T`I zm*ax!f6!l$ToQkB!3J??pjnRvycrGr_>}oZ&i{A$Kl!!Otn^JibbUyzzuQszZ4Hj} z+F&)J@=n~tAhpwDOg+7)FL)N#fkuwNwB05_smKs%HO`@Zu>+{f`B?B&0TA*E`D_e1{&COY6f%3pW%h7ZF zKc2$S?^^cPsghuFJdPLdeU+a%vUu2Y&~n`y^*Nk1F1Kd)FZ1fA70X#N*=(=xFWzE1 zQ&k05_>rIG{r^4+W!X#46h25Bwpk`Q+b_sKYV0f(Hu@Y^LI%psxZQ)WE2G-l>)Q#%QH%Gr8NL@Qey+G5V|-+| zAtJj{fs-;LAN_xGhggNMdm5DPtPl1{RV3eDn^P?(w-9kZ_Q^|2TGg!XiR1s<`Ka z;!ZvX=v@T0K47PE#dg0PjSAMhSof2@c zUZ2bMfVmo|`tJwWzRpNyY{tAOeCR?d<$aOC-apT042-fBC{@2KrA=1`-eDl1vCMp5 z?gUki$lMIb3*%Ifk5ky2xS(vZI3u%A{;<^ItEmvnLB?zD>YaJ+P zZZ7ebnutR3Ei36I?NJ?p^{tSXQG4*i@x+i z=n1yt=_@D6uG7IK9+~fwCdBNu$^^b&TO3hXoUzMQ#@Kxn{!Tjx4z9EO+UT>7CtI0A z6AYPmM(Lk;A;tCn_%$Wia^uBi+;SG5Do#P128wO4mNBLaq?Y;O$2bFSOW5`1nDx!t zkU`DPR<}zy`ktJZ%ko)l7dW13mIzH4zT~kmB$eE*d(V2fCTW1;4rq5&PJb^{99~RJ zS!6TceHvqJWa9VpIU+_`I@V(Wa5H6Ns)xn>SEsmgeWAbzT;K2Er?9@{*nTlLSZY9~5M|o{DvUw++t7#9Hh3(s9bma&2ZSg=)TpM}pFeeIb{r-FO5SP1Qu zlF9l$xV+KE_e0@X8@yli()=B25V1S26wH78ke867dBQHwYMw8Cr`@d7z9PI^sCVb{ zNgucGd1EA$@QSqeQL;=gc<_JLwPK3`eV2;nSt(osD5IG!YQF0T#fC(8R5feyClY+t^4{_KQd5HKcx ztcR5`*lvA0&DQcp_RNd6J(<-vf)(#fhIW(K!w@k;3)-`Yht&UExx~kFVQ7tZh6-+` z=7g;?v4Jd7ueq9FjuM_l^$J#{2Fh}<#J2{2#9STFTcNK=>Zl9ZIFVIFd3-{UGp zSbJ6vt>Hn>z|9lvHsr5?{?@RTuQ{lJ*;B9NWmQGqpw8H$cyR9LwPRi5J;-^|3t)G( z*1=@B(I(2GQ8Xoc+9Tq}jElbu8AK$u%tVw_Y5T$ZZ zc;4BKsb1x|Zr1p||N6Y;a~Z)9?P8(3)N#cZ>FqGtD|r-_e(p~Zeapfe%g>4Xs@vRf zsoz@9Oi&S$eaEm}lLJCSpat_%{<~aG@f9j~YDcFt3lua<*=E3j&|re4>00x+|7DrJ zR{nu3Yh>@PL_nwqxHR>u+TOs9pUTTIW+HGY)Vztqcdqam^DmA{|B2RG)4kmtRdzl| zzK$8|;(2;EO!gSVd*MXY;ht6%jOv8Y_KY!ZIXVn%-WgffOMe_2?g|>{Ku>q2_bu1l z(zx?Pq&a*b9{%ekHQ~MBX&OlW2`gzE%I{|gGv)oiKr65X9MYH$?B2u(hV_;`Pt?H- z=E(sr!_4|>ZY|SnVcSGYoMesAl*JZHj&a4 z*EJYO&LXm_lnJh$0Z9{CYxE&biGX?;Cm_?9K9j+t-5%FxFyW>n@`k-O4*|k_F%S#C zeIeDGk`nG6Y0wa*I0wmZ0<}cthG|2^1$@Q8N|lo}@sNW^;A~=__5VS|^7ww6e0G_| z*IKZ7N~KcWlyu+n8!ou7H27o~XxLWh4MJZq&^5jRkPTlq?QU^u{s=6X{8^E?n#c)5 zKfwbiq29Ha?fhNS{lFHvHa}P<)IML_r5+WK zAZ%S>mvakacQeevi1{{XdbafxKAeA{5qL!n6ai3>5)8e^XmAoBLeDU-Tbx5R#we@a)N#O*tFNPmvv+gTBexX97Jw z4&Qn)y6}kq)YYSJ=tD5o)bI_^XK4{noBVZ(<@5d#|CHb9A4gmO;s@`T`>#WsZh{R= z42OQ{b@NTGdqrEMq=yITK^QVUfg$WQRL(;TN;z;uh7hDhy#2R-5c?)eaZvlBGzFS% z^*E=h?lYHv42~e0p$vpIOKYAB%<1`VfC`@U^FMYImu?UZIF9c1vV+Mk1jo!QV9Jm9 zl;lCBzIYEh_z;cA^GwTQ|1*soL7L+K&(pn>@O2jA=)3=o?i|#!fteM+yNIAM)-lUR zlivC7G9p#86D>{^<%_d!xUm`8pB0wOD$ybR^F~BZhy~ zXuYX(t~#phr0vtNF8a;(-UdsyT%=9%*XpHJBz8muU8Koo|LHmAf-*;RuB7vZ7`gEX zUt7oIVp^$J&0j6c_2Yk!;ja2upsNRd&3eb=?+H|2yL@gEYQBwk#PU-t8kG-|wV5XF zIRBXr9!w6}B&!z3N9T$(DNJ`u0(`hts%g@HQY!hH4(-w#k+?E>KP<(p?(4y&l# zNn(VWLEq0=ynxAqi@6<j{H<kxk|a--CM zI|AG)1Jx@%p`RiP+_2CUO7IMXp*tt{u7O)9((6U_)&y2?SZu@IN(yN^YxP}?f%wA& z8X>nZEA9`@359}l(C>LJWVvg-;A~gLC}f3r=l!&cHVplOx34Ri0bI2DaJw07+vN-G zOs)-@Vq{cC%ClDQotQ=-Vj6F-oVftW=i-W!1UFXgVqeozgUeFX`0>Hj$MGpum19|^ z>|Y0!1&8AE<$7n-Eaoh079E(YBNQdp<7FNt_FJQBPlTFps(ChR$1ppFkpE&iRnzKqAwed@V(=b8K>sRK|!^^d`Q2!cv{z3eX=Vv-I9;#!S7^EGaUQH!6+~kh&JNcG> z{Dp9`IqHEmCW7ADDZ*Tw$(`8`2^0U=RIaez$|t>*hO?Ar+<2__P~mv@we0^m6X7tc z*{OI_g+e0rK~l|b3C*p%EcTBC7kQq@j2MRS=mSL!yt4|jI)pL_Bm~N-k3ssL0?Zvx z$=|7TGUfaQK6L^U1a1_3OSp!rXD%Kl zm)&}v_oYhBoX)jfO6@=9PdQ7u>F5GJFLr*JDEm_5l?}#gp+}-41cORAw0d#QfJ{P} z>t2;j{g`-_@qk){$yAJCF)%nT2dYZPPV@NaYY&g!BZ20@O8fW+cq?sl1`*bRvu^O? zv(3VJSxM|iZ<9cHp%HvT^8==;Rb*(v;!zj%rX+^{zSW273*f`-#PMqF&si$6p8ezf z0Y)9=T^&pu))q6U%!Zr)a*Xwmb_^tQ<|)XB;^cD4Wo3fxBs&KCb;bW98**vh#-Dbm z^3a#O>gZI`(1ypV3=zuPVFj0u0wCVV0$dhpOkizcB$SU9&e|mZ$1(B<5(O8Mm}%kQ zoi(cesP=%|$w!8+xJioBv&B0Z^}3j{|3{t#%qqh3-qN-aIb%LNw*K!K9O>U8Ywcm= zm7^&U;6|M<^TM1kuUxgy&M{yE)8u?Gg{0bl?5apX=RyFG^!_^-wsbw=#sAB^0{kOS ze9IloY`z{x$Gh1V=1%d;|HHmYBh#}9-KB;{td&|WVA9$~vBU2+7ILrsHv#xf6~(-^ z5yQ3?5W++Bn@l?Rj^ulzia*0%6&GvWVg<#0wI%e*h858reThK01s&(Z4@al>fN#ld z33r6zCT%`=961KC6;+Oo>L4F}hg&1Gf;2%K%s!kX!r9z)>3`^FR~gH-Mq3kvqi1{U z0mCZKBr@Al@8~)Q(WsZSAWl}e`dC^xDr+=kS)%oSNpdh;8e+p4Q0S=Py&39VMq{Yo z^N6+oM4+aU&2TQ$7ZoZ7oP7fRM~i!H<$pjGqA^KANM?S_HKu~ELuzK@rk{EIb3d5T z$y2Ea$+G=#ce;ayg)P5XNk1_C2h*T5K+Zquzk=gPty)VXO>oEn>q`@%5H~%?_Mel9 zfjbAIj*mpy`YQo4eec#Aws_Y6{Z9rps=IoaxQ_0VWPl*`qp%p;YVbeAIQ}3AHT<|( z$xXl`lkTt?@LjcBw32!BKL$1d4Bnyn_jWDnf+g;+N*M@O)dpW(9sDQ2ADFr}Mn+~N z%Pvp%Jl-X?l-ULRY{a1>FH;q}`}D>-O5w%Be_^FY&5- zVr0*MdIc}~`SjkzjEOl^-+Azl6P$E9C|aWpuwZ);d1>Qf4x(Lk|J1G620cFWi(2MI z?{aoKF@HG4R=dWQj`LgmW4Bt+68-F=dC9ix{yMHGu>Fg{c2rD&teeYB2M_xU|CDCA z_>W}!iiQbDc?FME+e~BPWEA?h^gBmiJQQ0{_mMs&djwrglO)2lp*5t9^_T6yFHsem z!zI5dM!fGr=8@vW#2b5x?<~d~<2Y0lHRV+)xmjuad=~j$O5KlOHZte_f7CikHH#=} zoNk%2clXUv^=}{4yKreKbgo*b{)bgeH3Tly7Gy6~(!s}c`p5HLeP%xb5*I_zXOQ1L z#r66iPK?a!1<|>t%(wreLjQ(p*!c|#;;R;HKdFN=iqx)R(baJ#eX`DfzDQpISgv00 zO~MObgQM>ylU90%L!PPP9CS+nKRo98rj^uej4y$?qOAG4%|GV<3r)OPu#C*riB(-a z4D#FSu6R9_f010#5BeSu`o|p9%`M5$Wm!!PB{_@5Mn@!O2<#UFTurGkR4~Cs?hBx& zGiQbhIkv|{R0w}qKY~ioZJ47@xlGFI!pPHv9Q}_Zh<>KLPX*_dQGPw zK5aY!Zu#?!!=cf^Ras(|FzO{yp@HiasCOmgifA_pBzXQCK#{Cf6BDPWH*ZNHtC|+r zanDx4a2Y)`fm6U5L{Y z>8gymukHUzYJ3Ie1{wOJWuE~!m^2_Y%mWlSiW~oUwTN_ZSuKy9iD1T$s#XE5nC z$T8kDbLxb|o!QuB!q2k2Z3WU7$UOE_)vbH1dj@)DB8t%eSym1EAtadQK$NP2yT+Gbw^|?x`l_z&`(K^96rZJYLyjFf9&}Utdc9-&QbZD2pY4a_M;I}) zx$;P`A2tpjIS`*avLBxFUm#-@R@c^D zxmLMMb^jYSMqd9m@3JGswrUEhG9$~#$@tvyz2b}iMcn-^sa z-=B=RTW|71McRTiUU$%(=qG+)>sx^Xs#v!S8D@v1fVwW`VG&Ef_ecy#=-{uoh^Ftr z9o;X{;xeo|U{UdI8DvmWXZ7>q!y@>Wc^`=~HtOI8+`zgzAvwDjW3Rp1`rg!BQd?tS zWFp#W(biT#?4L{Jo?Rsr`-H!bvz{6zK5=G!9Ugn?9;c?OkdbOxC+RcH0lv4W;_g*W ztEa3U2o!+IbF@pcb96dKh2XD{zJVm8?L{8!+fAvvaD=49k~*V&S#F}PTIyO&u=su* zb=IODGXPmCxDM*>HfRx<6k)Mo<{NTKEBtUgHf#wewU%@aN7&=xGH4W*&#e>N(uS%f zD);i@Ls&0iSW`os7DAvzO=6jfpTTBliD(VOk;W5mKeBay7$h1J*`>{gUQV_Yjw1yn z>u4v(SiBQ5m}PZ@irbvJh{Xj+!75Iol`jL6l?yvv$u4;>Krj?{jvgwHI&$d>I9~^j zCb$|CKP608z6&*!&d&wvtOH8GrW!?zgJs7m>W zw&%S+zU3#y)-vzj-dcPu(+^fOyD#`zc;c9u4f> z3d~4#$Sb{6l{QR$E?1LryJ#P6?*e;Za=>(ovbm?K(KcMCW7Fi#(AVqYYs#FTYFQ*S zE7kG(=&(C&N%aS6G32pEml}?)^A@scWr2@}eD?@!`II&1qsG9x>XS4MRQS%7gc{oS zb1wg_kFFU|Wp|#fOdV+wZuM%EFzV%~2opx>$2Xm7*Q&DKKhDaXvBMCQe}^{={j#IU z1fy&!&5)1#K^V)5jWN#m`62F)e0A9=K7;`GiHR z5nvd4J!+v?sw$P>uWecs6nKw`41Qwoe67ebd~gK0b$DU6lKqaTrHmV+L7$r?&c?7s zr4rCQ+tH<(>mus?w$TIcfj-`jXtWSjmSci)t~NP6-!$yr z_$Hh7I&T}fKGxVla${fq=!!g*QDpCAuEq2>gVj}Kgw6+*J~YSpCJW%2IZ4VSva*Fz z;UnQ#?PIRTjDWh&zm=c=`CoER6gqA-)+uF|y>J6FaBst@%z520;gA2P*zHMM+jTO* zSWoz{r09~su%iuW%>~Sb`Xgn&VwyEIYEN4}97wUvEqYC}ppxG^@RIOc?rK?X z_2}!NJ&zBwM(UIb1OCUOJ)8!esZU*@P z5s@zPi{|}W(S>Rw#`0KOOX^u1fwwLD8Y&3lF~HFkl1Q{|Cw$GhXu74sMXEuTf}_`l z-EV6iqX&rcMp34w;3J)@Speq{t%lmpwbf{(4kYr}I9hoaal`K<-PDjY^U7Yf>rid8 z9iOH_WPMln?yVM?KpXCdsU~s~Jut$*Xv7T@lV#&Nwjjt4A{6nhQ%|+43=pW;vn?|L+x*tUhgwj%n7cl^L>M1`xFQ~YtkPnUH!#Q(kb$AOvrwYbgqpNX z87J{Ucu9KwE$8*jEbkMV-s&vVg(`ZX>sJ7jOPQX1vtFJ_2PsRh&vf?0`z|YJ_^_c6 za0Q0n1wF?x`u(#V1=Z>t74Kg-zl$Yk{FX-iKh{Xm-Z6SY&Zrs%0S-_;HW`jwt^I7} z+K=)M*I+w)9Hb(kcKOFU%A>flYG>xgeOo-%ufLAxEsKEiP3*Y!7@hmKi=P!FFDV`= zi^|SEK{0SpV`qOsum|~}elPu^Yh_4+L{YL<$fI=h{f*0Uug(uL!FbG!VM9I?zN0_vShN_1^^5o2M#M!>y4p*M&RLg)(>9)*4Y@x&~N3ynNxHTz!e6Zg_ z?%TR)!f=Oowc1uj3zjMT0hl%AVO_yBWSN9CM^_a9f(`W+;E0m@G_At7yzn)gF<{yd zd;HC-K6Rij;Qa-Q-riU49_5{;u?aI|<{s{RI%NrUJFA^le@zosu8u5) zM9zP06`_AGfZ6snfU^p7$dqK`r;4 z-f90s=_vnS*3lhd`uX21)={1}j#x7NtNedqNg$%oXDaS$O#_NYG4!v* zpC7xKA02-b>ool%9EN_-RC@DIM=FoFNK!qzC>?!sBd$>N5V1I5*Ochyg^nBq{MX|+ zf^_B=z7#ZbXF2Sx?K|x=l%cCun&nkHSjZEw{Z$qidb5RMhmZL6Q4(u3@pKcJr5!ZXK>GlWDx1@Bl);@iFryF8lwouml&{k==0AMFID+G%+ za_mI7*8MD2vDg|$cunlf035#%J;tY$z6PWc<>8A3>C2H%S56_cC%<4aSvi0U)h^<% zERLW*;KtR22GG&y27UOqMN~48qN|d2d+REHu@wioVMNkvRY3IfoUdw>z!9G=-qo%Z z_@$F8_klU(?iOpX8L#hoZX-{pPB6gvvUPio$-!?I3RN}zPmsrt9^BL%%IIQ8{ok3v zhjs6akXyx%aCFT_+rM-3l>gFtUw=HhBx6&y4bXG^Y9B#D}sVhM|kn<(!=-_ex5iX8QtCCIc9pn4+IINeh-zse( zA;%=Qb-|*!i@$mL{}4OZ<<3iA;d_C%@R(tgeOvFB)hfwTp*qni%E1-= z0(yds!|+WdCP|;;S;ivDI=l25Wi54%U!kvcuQB$q%+=b4|R2!jl%MU76wy=24BQMJkAM~ zrq@5cvfzN2O9}Sh1nwd6`>>;>pIajeX?G^nY|0|Q3Bt6k>I)m34ngqO30H;8VUdol z&LKjvAO2o%$<5815V-};Js!QM=?FucY^FzP&&Kzf=~!Ob%n!&!65p3^QBZ=k=F5X_ z$pGQU=bZ)X1$3s1@UoHi~njAb($J=<;OLmDeY=0JC}bprY_Ejh@35-A9$M zV@HjdLmo?qJ`39SVom#G7`WnV-e}+BpkdXy_SLJXpno)Pc^|Xfyh;@OAbZ;`%U~YZ2orzBjp4!1wL7#M@^6rc)Z=pz*KnjkBKs*wwpFNIVR}a>X;$!<~q(@~jWJKGb?=Vg%WQss+GccKTfCsyFS2b7am(2NW5{QdUmm2$}Cw9&k*86R?RV7O^JK zrm)>B39hskbpUP*%vLH^Ir%p4kr(=(MfV;be_$2z`SLe0BELqS(Epxl-%!so7yv^N zc^!fdAU||&h=sSkI`;iLh*%vt@=Z9y5iN*##l&ds!YPTQS4?M|;2R7W?5R0Z9=dG$ zo6>Eh0v>t#{PVA2@Tm($hg3gZG;VY6kz^X?I%%iGlrfZ`Xus$1_$5UUEdB1EI|Yl8 z4&rQ@y~F862JgkhVqa<`Qc~zSPud(oY%ckD>ECex@NlS&{IGNYL35CI?NI~7MTFOK zZ8bsk!3UA&c3t7}N#l3JJ`O?S-SFzz}4j?h?Ie1{nXzb ztBtcUo2B&vPN$LxI5hoW<(CUxiIZ9b6g^`F^2P~5j|dI$<_+K%ld!Kk6dD%`=g~|J>PTP@xdjXd%sxH)eYP zXVXE6-+znR^eQ${zoD|oN@ihYEnxhDQo(RB2rLHWr0uzX>IJ!AC+BU^NlPr9(~E1aG&P!BcUl(5elkG0S1BJj zh{yYl(N80a{6FiOb8@91hXD(ev0>Ei3yV~3({(hxO8UY?j$bbT52WdaHi)i07%?#S zIUL3LRiMGWwX$n~QtVZ)lq!1!#+eOLc6HPn(OWP$ZD%j}O~CJ)Sr_Ca6cOF<)c-nH`6b90dQf%~|a= z!+5Xd7>p189H#}qyk?r7YCXaOr_C0J#kt;a&!{rn;d6Ee59cAThffJ-+WCd2rTF4h zGSZL%AVPie4>+y?47PSNPqI(jzWq&AO4?7*X;ORXtRkSw7Zdu%wLtoV0x@XB5{gUS zkH-(#)TZ_y^=QAG-)oi2!wIiEsXlaY@G~q@d3*W8+k(YbKuWz=SMse4x#945wZx6w zHx#8SM~-lD28u?RuK%@dZ##3?Zr+j{PX-OZ7o~lT7xdQ=o!y=y7i%^(;}&0%q9wqC zBpFh6x<2dqbxKNFlyuYX(K4{`T+ua%k&x|Rby`+Tu7%SvvKL@VPI)g&|AEweq)a5&jNKOWeRU*6AyM zY?5fDif@PTd; { + return ( + + + + + + + ); +}; + +export default Routes; \ No newline at end of file diff --git a/src/redux/reducer/index.js b/src/redux/reducer/index.js new file mode 100644 index 0000000..a5b3780 --- /dev/null +++ b/src/redux/reducer/index.js @@ -0,0 +1,5 @@ +import userSlice from '../slices/userSlice'; + +export default { + user: userSlice, +}; diff --git a/src/redux/slices/authSlice.js b/src/redux/slices/authSlice.js new file mode 100644 index 0000000..568d8b5 --- /dev/null +++ b/src/redux/slices/authSlice.js @@ -0,0 +1,33 @@ +// // src/redux/slices/authSlice.js +// import { createSlice } from '@reduxjs/toolkit'; + +// const initialState = { +// token: null, +// loading: false, +// error: null, +// }; + +// const authSlice = createSlice({ +// name: 'auth', +// initialState, +// reducers: { +// loginStart: (state) => { +// state.loading = true; +// state.error = null; +// }, +// loginSuccess: (state, action) => { +// state.loading = false; +// state.token = action.payload; +// }, +// loginFailure: (state, action) => { +// state.loading = false; +// state.error = action.payload; +// }, +// logout: (state) => { +// state.token = null; +// }, +// }, +// }); + +// export const { loginStart, loginSuccess, loginFailure, logout } = authSlice.actions; +// export default authSlice.reducer; \ No newline at end of file diff --git a/src/redux/slices/userSlice.js b/src/redux/slices/userSlice.js new file mode 100644 index 0000000..e025fb0 --- /dev/null +++ b/src/redux/slices/userSlice.js @@ -0,0 +1,25 @@ +import {createSlice} from '@reduxjs/toolkit'; + +const initialState = { + token: '', +}; + +const userSlice = createSlice({ + name: 'user', + initialState, + reducers: { + setUser(state, action) { + return { + ...state, + ...action.payload, + token: action?.payload?.usertoken, + }; + }, + resetUserState() { + return initialState; + }, + }, +}); + +export const {setUser, resetUserState} = userSlice.actions; +export default userSlice.reducer; diff --git a/src/redux/store.js b/src/redux/store.js index e69de29..4848c90 100644 --- a/src/redux/store.js +++ b/src/redux/store.js @@ -0,0 +1,5 @@ +import { configureStore } from '@reduxjs/toolkit' +import reducer from './reducer' + + +export const store = configureStore({ reducer: reducer }) \ No newline at end of file diff --git a/src/screens/AuthScreen/Login/index.js b/src/screens/AuthScreen/Login/index.js new file mode 100644 index 0000000..1a0ea57 --- /dev/null +++ b/src/screens/AuthScreen/Login/index.js @@ -0,0 +1,12 @@ +import { View, Text } from 'react-native' +import React from 'react' + +const Login = () => { + return ( + + Login + + ) +} + +export default Login \ No newline at end of file diff --git a/src/screens/AuthScreen/Login/style.js b/src/screens/AuthScreen/Login/style.js new file mode 100644 index 0000000..e69de29 diff --git a/src/screens/AuthScreen/Splash/index.js b/src/screens/AuthScreen/Splash/index.js new file mode 100644 index 0000000..426fa33 --- /dev/null +++ b/src/screens/AuthScreen/Splash/index.js @@ -0,0 +1,99 @@ +import {View, Text, Image, Dimensions, StyleSheet} from 'react-native'; +import React, {useEffect} from 'react'; +import IMAGES from '../../../constants/Images'; +import AsyncStorage from '@react-native-async-storage/async-storage'; +import {useDispatch} from 'react-redux'; + +const SplashScreen = ({navigation}) => { + const dispatch = useDispatch(); + +// const get_token = async () => { +// let token = await AsyncStorage.getItem('@Collector_User'); +// console.log(token); + +// token = JSON.parse(token); + +// if (token) { +// dispatch(setUser(token)); +// navigation.reset({ +// index: 0, +// routes: [{name: 'mainStack', params: {screen: 'dashboard'}}], +// }); +// } else { +// setTimeout(() => { +// navigation.reset({ +// index: 0, +// routes: [{name: 'Login'}], +// }); +// }, 2000); +// } +// }; + + useEffect(() => { + // get_token(); + setTimeout(() => { + navigation.reset({ + index: 0, + routes: [{name: 'Login'}], + }); + }, 4000); + }, []); + + return ( + + + + + + + + + ); +}; + +export default SplashScreen; + +const styles = StyleSheet.create({ + backgroundContainer: { + position: 'absolute', + top: 0, + bottom: 0, + left: 0, + right: 0, + }, + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + }, + overlay: { + opacity: 1, + alignItems: 'center', + justifyContent: 'center', + }, + logo: { + backgroundColor: 'rgba(0,0,0,0)', + height: 200, + width: 200, + overflow: 'hidden', + resizeMode: 'contain', + marginTop: 5, + justifyContent: 'center', + }, + backdrop: { + flex: 1, + width: '100%', + height: '100%', + }, + headline: { + fontSize: 18, + textAlign: 'center', + backgroundColor: 'black', + color: 'white', + //borderWidth:1 + }, +}); diff --git a/src/screens/MainScreen/Dashboard/index.js b/src/screens/MainScreen/Dashboard/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/screens/MainScreen/Dashboard/style.js b/src/screens/MainScreen/Dashboard/style.js new file mode 100644 index 0000000..e69de29 diff --git a/yarn.lock b/yarn.lock index e4695fe..51d0f2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1928,6 +1928,11 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== +"@types/use-sync-external-store@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz#60be8d21baab8c305132eb9cb912ed497852aadc" + integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== + "@types/yargs-parser@*": version "21.0.3" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" @@ -5789,6 +5794,14 @@ react-native@0.80.0: ws "^6.2.3" yargs "^17.6.2" +react-redux@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.2.0.tgz#96c3ab23fb9a3af2cb4654be4b51c989e32366f5" + integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g== + dependencies: + "@types/use-sync-external-store" "^0.0.6" + use-sync-external-store "^1.4.0" + react-refresh@^0.14.0: version "0.14.2" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" @@ -6631,7 +6644,7 @@ use-latest-callback@^0.2.4: resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.2.4.tgz#35c0f028f85a3f4cf025b06011110e87cc18f57e" integrity sha512-LS2s2n1usUUnDq4oVh1ca6JFX9uSqUncTfAm44WMg0v6TxL7POUTk1B044NH8TeLkFbNajIsgDHcgNpNzZucdg== -use-sync-external-store@^1.5.0: +use-sync-external-store@^1.4.0, use-sync-external-store@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==