From 5d9ac42909e65f9ea4e4a3aca6b8e9fcc2222bd1 Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Thu, 23 Feb 2023 01:04:06 +0100 Subject: [PATCH] new ui , search in list, and vote --- assets/images/1stars_vote.png | Bin 0 -> 1493 bytes assets/images/2stars_vote.png | Bin 0 -> 1534 bytes assets/images/3stars_vote.png | Bin 0 -> 1518 bytes assets/images/4stars_vote.png | Bin 0 -> 1520 bytes assets/images/5stars_vote.png | Bin 0 -> 1331 bytes assets/images/delete_button.png | Bin 0 -> 2736 bytes assets/images/like_button.png | Bin 0 -> 3605 bytes assets/images/timer_icon.png | Bin 0 -> 1050 bytes assets/images/watchlater_button.png | Bin 0 -> 3642 bytes model/Movie.tsx | 12 +- navigation/index.tsx | 124 ++++++------ package-lock.json | 14 ++ package.json | 1 + screens/HomeScreen.tsx | 297 +++++++++++++++++----------- 14 files changed, 259 insertions(+), 189 deletions(-) create mode 100644 assets/images/1stars_vote.png create mode 100644 assets/images/2stars_vote.png create mode 100644 assets/images/3stars_vote.png create mode 100644 assets/images/4stars_vote.png create mode 100644 assets/images/5stars_vote.png create mode 100644 assets/images/delete_button.png create mode 100644 assets/images/like_button.png create mode 100644 assets/images/timer_icon.png create mode 100644 assets/images/watchlater_button.png diff --git a/assets/images/1stars_vote.png b/assets/images/1stars_vote.png new file mode 100644 index 0000000000000000000000000000000000000000..2b06d160d3b7de5228ca32dabbdd355591a01b03 GIT binary patch literal 1493 zcmV;`1uFW9P)pkk1> zS@Q6%fleCMF+A2?s2Gf~<65oeLd76&v*h7j2d!8q!1!0F7+A0;_#$sZkoU|zK@%c= zLZk5|_{JJ-vp+r$p#q3VfvsBL?fd?Ar_&ii1t4#;+X!@41J*W;-Z${oGAnzHpM9?SkGh}2vW9>nybN+0s2zhvTc;+|`dFKFm zFQTUhv>NupvBt=S@?*~**xcN7q5RnM2go~D?D+$_y!BMT8k|TD9zn?wvs&}Vu%#pK zoFH$>y&)sg_!&~-7%GbuA!Uw5J5lmjWG_2G-nn2eJE6ln zdj*un&*{n1#tT`j2q|+cB5$+g?VTxtM#j&O62{P|SP@djSVZ1tG2tClK;;e8{>Bk- z{#WERoS#Ge@d^}(+fAdoG1juIBOd1saPIs56(|t5OM<+mtflvly`bNI0jQ7rSRI>? z3Lbw6V`ngKoIx5m4Dp{o@!c@)Qf#66_@xOcz(P%O*%{tDoj3a8FN3`2AnygH-oY3U zBjOMqtrqz37K%nVpbOjm=*3+sT9A#6jTZiAiuVS1i*cldPF~!F++@C-rk

-95iwTya;-SPN~JwH4=ByR((nzwWkhWB4K z)gq}Xd;p`m6ZFIxm<*azM~w^&uuz?>JLAbaF)QaCISb1F{jD2};qrv@ON^VRpb;$K zu0k$P1-77<*qV_ykarYu-m%LN{N2tmUUi|pHx!W*xRYe8r$VpS6OWHvfaX?CM2Ycu z>?9d`s6gINS#|H&g?RS*!wpV~wDGM6+TdQ&i56834i0Xx+iznF6QssG=ikV4=QI9r&w4-mCAOdM6A4dk7W#1$}zj**M; z!P;IscrmzHex2DEI*A0$W#`43jaUZ~FZ?#r+hi;v@AdFb{?YUzelA_KSXkS0V%7{r zH|>D|qGE+)&BlpZ3!20W4-7!w>*1X|g398jh?^s;C0kf$yC1uFZd)2j&BhB^tQcY; zwPXvXold7KK6)G^QG=0p639D+ccKa?jh~!f2HVNngTb<&i+Ik^NDP(53b8p>Jdd@% zzrWNw;`uQnv535)L;-|cu<-NmNYaGE#wcrhC*(mqGl zZnpz(EJ)9?tc!4Z+C(fO@AdIc7D1=+lMjMkPhl@7d;Q@`#MNmeH4`twSTPWrV^#JR zVk>tgeikNCgOPU>0VC@A4;Wf(CnmhL v!22(^pn_aqUz4{%$eSPtf*=TjAhhuv&RYchCc=A900000NkvXXu0mjfh)KuP literal 0 HcmV?d00001 diff --git a/assets/images/2stars_vote.png b/assets/images/2stars_vote.png new file mode 100644 index 0000000000000000000000000000000000000000..b39ce280fb11efc0fd899f1549ce780785f3755c GIT binary patch literal 1534 zcmVv=m~J&fII>41e7Nzc>*{AKH;XF>DAMuGriT1 zkQ0*`K$~wB%V3bD-PLNXFZq5m#zvBt-wdnWzjjvwaEQEm-j;tqZv!!?dS6^zwABlU z!QS^Yz$L9<2X32vpaxNIA;eCj(dYv)*!!L)I3?HxAwK~*XnJFX*u@und!h<&0gg~H z4qC1MlV5_HRq@MzV;}%kZxw~GHBP+aI9~1bdSf5}d(Yx7f~pvoLMhG>^;U5x{Y)v& zvG*(vuK^p|(~m;D0WwhahN-t;Zy!|R?IeQE#JH53;F;)-YMt|`dOwUqDc9H6&!Q+| z?+U2W+f5G`w8AIbS~q>DJ5;>^!p9qymzVocf5OKbzISgoCtw41Gd6BR-686&M&llD z!xoyoE22v8(h)Q>#--Fa&QbNwibE-Nj&tmtP5B-$E5@bNInGh_&WJ-PHIH-QydB@O zcli@AGsaDK);C@d_0EbzDRqu>>^-M^C_!$FOQ~U;qw1X(hf?Yo=h%Bb$q8t^5IJ7j z1}T5bJx0nyXx^TH1x2e;sCwHj=naBkTNZf(9L8~c0u~gl?qKgsN_l@>3;Ov7facv5 zo{nuWLKYt)#6H}$_Q3=RWBlx)fv44K9TSVM0_Y-{ae)KXMdfj_xbtxUbETU$JW-Xw_4SY74mRvYm2=- zFwZ-45Jq0TY}-XUTjU6Cno-iDl_`a&_vB*VI3kr`gq0yGyP}`HwVCUkI|?fQ{OKUM z7OD~{k1@9GfkUWzW5qbIxSlWqTmEBgh1nbG;axZlA>Xg<;891;dlePkKt?*(OjgAc z^&Sic>b937aNIhp2y}OM7wKFx*}&ej=z14U#EaJ-&Tw#{iyw#J3^~*tu&{-y_vYs2 z8OD_^wwyz7genUwL#L`rtYGhZOuUUI;@w2M_^s`Lg)LOQT|^|T3~y}*ENo$KeQ)EH zFc|In*l+$0R*1fM_0K|vf~k6ArRZa&u=IvLw(#t2fNyV`wV)x`B4h}QBLrI(=#7;j z1WT|r4q-vCx8~miQyO5u09C>cEDECDcrkD7{qQ*^zF}`Yj7~tjmI|TVMEA<146ji2 z#yAv~oG@NdWq@bcTOYF?P>Md3$A9Za)Z4|=w-(Wxu(!eAG&vZDY~JMVSBsHl!NS;_ z`>QI0sy7sPe_ez;&O1P`w+Y_8wNJn#g5^$XCv#-omLtr-)d&G^BFIwdS}O>G5&KqSrfgzUhhCXG95A^l3;Hg z7UHdS0%pcIDUXw7S>4fS-uH6u*YgtRsCs9`A+@Mi-AA^uu`$;>=e{>DagM#GXnX5L z(1$TDz5i`pZ&}vlxhj46er<@SyIS;`4)azYFNk_Sj6aC*7U@(xEmzU1G)qsI2v&uNf-ZN!tdu#N7jTab* zyDo1&O$It*h(I)cgvy}ljWOnh8tQg=^Qjszz_$pa7JEN}s<#v5)yowi2vzUX(^K~L k2vu)}VHk#C80MSi3(CmfpNXwV8~^|S07*qoM6N<$g2GDSmH+?% literal 0 HcmV?d00001 diff --git a/assets/images/3stars_vote.png b/assets/images/3stars_vote.png new file mode 100644 index 0000000000000000000000000000000000000000..d74bdbfd33cba6307471db3a47c76b669fac47e1 GIT binary patch literal 1518 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 literal 0 HcmV?d00001 diff --git a/assets/images/delete_button.png b/assets/images/delete_button.png new file mode 100644 index 0000000000000000000000000000000000000000..58cbd0331e08b47ce204e871983d53c9aca826ba GIT binary patch literal 2736 zcmV;h3QzTkP)00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yP3dwROs%+D{_K)F z!}$P7KdfHLYpdtfsLv{x@c!sYGAcMezmv$eX5_ zFPFc~gMbJlnj%)$%~$bH&S1o%+`zvbm2ZRvD zcmX3lYZ!Vy%+f(L!(sWnj1@%XtE)}I$87%l}3_TBJykWG1DO*dxL7j>P#kCJ1c@B&*s zn2SWlA5|*fZ$JP9B080t#vv2Gh7U(T(JJ^_X%|kMI0e{m`#y2vyXe!W)7Nmi@7JK{ z2ufBXkyx}+*|`Tk;;ZOnGJOmG&`Y4`5;lXfCsFna_=GRX7-iPO!~Ej`EPw`R90{xb?YQ>wDMB|*YYO=#gwACiuQ*=B&O>3Jjf+D1_dAiur z>nu;vIF$MT6rqN$sP#JM*kp_nFzlP>KoN3SY;5e*E>_L{;daKc5v>w1aUfU6C1$Ro zDVkLRCKR=$O>WGTxc|IaqMYHfsHXBzr ziD)&P5*^wt!g=hFXsf2J7Qu-QIdmpvheYf8{&`SHfio%74u4ZqD;_1m*)ku9re<4R zn=KFZ=6lk9ejr-cc?J|xVQs)?(a?0884!@!*%wFe-(Q_6mDXl&-~MeN!@@V;{AKLn z!~Bc%5!CMp29`N^WIsqI&;AVrge0d@iD&HRx!m2I%a`BT0G}Yq@4ffCsm5ckyz;XL z-+lM*|3UbnD@I?ZiwJ8Gok~p$JEV$6BZsD1=jJZNmX z4{D+f!w^>V^73DHoX7l-?IwA1bNjzvez_{l*3Ps8a_uX961hn7?z=bt^ZDm@eU*Kj zTkmZ6CEH7~AboQKRuJn{D${ikezxkf&%Stk?p%5# zoqqmA<8gXEJ)Is|UjE{-*S{g3^i3^PShn#^M>q zK$?Z@oyeA1GQqj|07akrDJEkxAQA1zmR&M|f&561Mq`)o;S@+lE3yYcGGUtVh$Rwf zsW)Q%sT?fZwxTVTMYe^O$~1w}E;q z#SlLxLPUWoV?W2NOsXMPI~A|Nkj+baBvLDwNF%zFvZm~^u~t&TraMOWW0qoQ(M|1I za@iXsn(obf76iwS2?|+dV-8jz(dR{bVPu#cXY68XY|Af_5+lZ~@icQwYU zB@mdaS1%vQFZ`IGIPQW&S{(ucVHjpXt5%2CL13I0@cTInIamC5tB5hD6g>ds4&q zn_eoyfoYmgMepzPg2?@}!ku#Y+oz(fn{aTU7LO^sv72q8VLn=00fl7n75mYFXv1JD zppXi~&{plo2coU@HcQeYT|TjxWfDf?E< zxA>4l=e;YBTm_2F_aZ0+N6Q^K;yh3)t>y6@A@tPcAcKXk;?~yMvh#S;>$)+jmq8&Y zY^mANrlKh+QzcRHaEoT5sp#64f*Mm9xNtO&X2Nwzj*4orI4+tASJBo)2U8iiFt|r^ z?YrPXB9XqsnA)&C%vjO9{`zs}c&?_z3|!r9HslNqvFl#v=w2sOD&^w&bj7yW!b%+h7yEp_=e8 z!Lyiv{khe%+uGW~YQj|=yx+9bWZSeQnwoIK&=*vH-9PBHHw<{&s&lkX%T2etX7-T@vb1+xBxxKyq0NSK&(Zt?fxe$#`&_i{@(jH=(=Hk{?!E-3pjE+PTn4INR za@I>I`Fi+A=#Y*@6P3!&J(Qh7*}`v)5pMYM=4Rpd&;_2g?p9Fs@Zg}!cCopB1G>bQ zodXSnU7wm_e%lS6#mxF9O5TA02{fV` zNhGE*8#fnJbX!nUO>_L4n`SRdQmN@#!!Two=`4*k^+0av zR4;7g=>{bDlp?nf=E!wJSkX@6@w3t4VU{*cKD$YREdJ`N?@GObEQh!|J qTq|KgXBWQ~@n=fa>fue00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yPbj4fwDo%M}E<2ZU|M zf5e1Ps`$auy^j|u;>Vj8AXzYV)YQ#rj%o(k?xfK^e@usZX&{V6TLOY#pZpc6PSzx$iG|+dGWk$Mk!(2B+)SaTJ z`~^gAB%DHk*CPw;_WEz4(c?qJ01Oe@?QVr3lkzA$ynt|u1>P&+mfG3|0{yn`6DPV0 z-PGiH6sG&`Bb>6pVAXDKbVQ@0gG5Jk6}q|Evl{-;Zo-)$bS{Y90%8vkozNv1!^pa( zM%j2CCO`}YXU5K+rAzgQ$OWPUTx4Uw_Y~h-q5~6l-RQ32vv(cg7zAz9!;Mc!=w#r< z`()#xo{0u%Webf%C>~u`5;}JxL$9)g#=JHB;wK2FqTtZ0u5NlT77Lf0A1^uTPNp^G zt;G6s$Yv!1>C)ennl3F#XdFh_Y|2)iyRJHcl-NZNyGj~f;Vcvv*%Y*Z!S$B%f};Cq zm+O*Fm``3#I3@wJXZ8MKCqas`XzZ6M6-xR9aVmkhI=O45FhvOsbIROhn-fQ|F1(=7 zPG>9bZR#W(lR|rNv1OsF3JMKFsTT;x)ZmKRLf7OC#xMYbzIg%Rm>k+zSJx1Mtl1Y@ zSLC&59)Pg}YLzcA(-a!5nFnA@k=WX#^+Qdexizx~?qAcg>YPGzYi1TrtIjDjw`O($ ztIiobpCdH4X69+hHLlKK(R?_?I#?}2-IgVEGN;Wq!Lbf%s1C}qgcilK^9aWhsDm;g z`-cMG@n{j$o_SnoblZGwwslCk@0RrQaiK*~=^z|Sku1QM#P(ye+`(wYNHTwZhyC)) z=hU{fwbrKF0)fEkJ$nYDAAY#I;JT{%`f1`Lk1T7t`s#MarI%h@Yq!@WCVLJaK05Z* zS6`nT9Q-7*dGi~iggIyjeDNk8rJI_YXMai z_@To`jvPIczQ@~dZ<+0OyC#tm=X~R>se1fzZX4 z^16nG`kLEs|7HEIUAs@z*Vl{Xh>WziU*TwJaocw8{Kx+Z8w7E8N1~5rMPzifxde*E z#^N7+wDL3!YT-wkQqBYmIl?tA?xZn_PFw}&5I)OX!zg>MJ_(MfbXD)l=W7+wmUhD7+Y6eDRf$OsmFzzM)}S#i}osi=s$wK~dxu z!T{F4OqOC1yA2WEIUl=Z>5>Z+fY6#Z8NJWK}WF$fcj4Acn? zpYJ~>Nr~Y2ci+CxBj~c9dv1MMRr(^4Se!5hcx{JGQ3wWO%z-YmoQQY%^2dfC(NbHA z%Vr(W*Nqm<#D?}zC_9)c*JYx>+qP{#LCOFle|0wQv(NUI)P+<7Jo`&PizW=<^X<=? zoPZ?8R8nE?z4xB1#0jQV85l<=5Lj6V==HvRJo7n@sUaO%u|No|87Dt7+cs~0)AX6K zB-E};LAgqRQL}n1ylK;mvrqtHFzNhyWy)0!PS zJ}7JGq-M>U$KC2lltYJ(jxAZT{OGAurxd~%qQlYnD~QUND-O4J?_lKCTW_9%0;k(h zcs&*cpvb+w_hqGqG5G4~`R$=#aG1Hw7@m>Moa;`5Jdc@)i48R;Po7eC?HV`%$&+a?^ci2#ipzbbOtF)JfxXcZZb!Pi zyQV$+>>p-kwy`d9iXjvl&t{%Y7zGy$Xo(FobJF18zhlMR2dLeHa=&Ls?kVt@MSzGzq1Z4H@1U4Q*GQ{iW4_U-#`-kB~O zhrjX0Mo(kokNrKeX3d|Dz5o7BRu%!~V^E+}U~Z_83z)VXTe$H4tmQt)6Hom9qI{`R zt!2Ndv2vJL07X#(AatCWHOhrRvDdC$pS3gy)0S_&^{OXV_Dn15g(9;!R@Oq2WWRXf zg|5?rpe!O50o^qA&FHq%ZRpO^Yq~QR0q)%S_qG``F1j%D^;Q!Zk!4|>I5rlJvY0f< z2L@mchn>!wcg1*q0G^APVq@0p+H2=!O?6_{tJnpH3=tU_IoOv-8A8$of-yRiSO^$e zMYP0jZM}5TU3V?WTB^%()+-;-KYtO6jrOO6o<0-4S+1l7imgtSqS%*RHpiZM9ot#2 z{D9E?xFsh&6w&?AOS6EB^Ybm>w@5-n6IqrM+9rfPdsgvdnv7T!T)>aZe$?$&7a75w zl=wa2y2r*w&)Dsa*Rh%kEd-`YH*bD3jL8$21Q9{tGvL<0U%B$>|5;gNaN9oYpYied zLSL7w6(Vn?VBKd9JHRmWg;410M8$*gbfF~C0m88qk|gX-KOPr49R4bZrcOAP0JQXH z9)hN>GscCs41zc7S>_XnzP*HF2_z}oJ7)=v)oZx>W*^j0eRkzJONqdJ_Yn@`2>s`@ zs2hU813vgfSZ3<-d;=0+fl%nc4t0CZ#erbeI|zqS=%!q)Ifcfc%*rWItDF z%m=z`)TWqgixN6f!JX1Igkv)3CUs6*i=rz8fD0euF5FBgUI@Up6nk|^`=gUCoae!- zO(`xrO-Vwd3zsCZm-pAz1K)c|BFmC_j^Zh~xC?IKvD>GQQc5}qr{X}Y^yJ9M!OuyF zlvTwi77P0wj_LT2A6QyJWLfSDh5QAFQn@I*ToVLmJ|3J^5)8h+-ayJ^LUp;K(a}K= z+YMqfTN;B6lpVvv{^!XA(4|s0&xacaF53lnJ>mW9x|E-iB)Sy;Ai~iVd{6PcB|4yM z?fvFv&uX}3C*kNo!d>f@jnuVvCiL06d4Q$|ig%)YvKrkh;$ncthhF8A972^JU29=T z>EqI8JAqTNI@}h{%~Z&Y@ah?mCs$G^`qu zp{KB6x^(hnXTKmQ7w~>t3&jhO^^+j7p@rTncH))G)e6zL+{>*y3A$>W;~ySAFhD9m z#m-g4{P^U_O#^};J9s87VZ|$9a-w3nhpL=m=XADuL{Wa>e6wy$fZ$?F+}}njOjQpn zJYU>-qA*t{bmq2jVaHW zO$ojL1ZOI{hLr}ekU%y1;6j-CK;dM-Dv;veZQoWlsO;-dD$AZr-`~zNfK*jEX3s^lnaeOgHR9D7l}kVXsUw%P6%f{LJiPbnyTRD>V!LPKvD8Y2Bn9aPz}@y zy;16RLaz}-3`*IOHb$9&m{PX|x~7?p9@E)yJpjiL?4P4hr{6*P3mnab`q(s&K>0509G8$o`yI-1 zdH~Is$j;3SoFZ$g|MUY@VANhwz`$o4E|v6eCN@LI$PXBSLS#tc%*hzEQq$&->3v3m)vRc0qirOPt50puWoL9fEiwQ(LT!_d6lQaN1`UIL@&vHT^px;pqQ1r zX#(&LAI4?3gP;58d>?s(rx{Ci4V(g)&&q@30{bK7jHYS{bQwX^kU8&I*(iW{tUN?6 zK@f7?KXIr&Lgsv73}ZiIb;sM4{cuL6aZf~3&;SOVd8Q~Q`Ji5 zxUSB3RaFCX5;P!n{R%!#scKe+B#q=17#Arc;bk{9?K8&u`z3rNgGq<=%%Mz^ zD=9_5_bz3?j*?%5m6tzePUVMo1qBRzRw*|hr=WndJg8skAVvWIKeO#+Gsb);pd1Pk zVI3_dlpuPc0`drK%f$E-2w@LY9;E^}&K1@%ib^xI)uj))B)38B8b95pH}B~<8=cgX zm7J;eGL7zldZD+_05l6)MAnDRCP?ll>N(MO=sZ-1O>~sf0fNYfT7-Yvpdy+qgmpG_ zMd&~3osfCfIcPQcB+!3Ea6|H_TrQDiP$5~LrgBNh52O#!d$RHx`A46ikdTm&-&5N1 Up=dlcy8r+H07*qoM6N<$g7^C2vH$=8 literal 0 HcmV?d00001 diff --git a/assets/images/watchlater_button.png b/assets/images/watchlater_button.png new file mode 100644 index 0000000000000000000000000000000000000000..c2297bb4ff2500d86799fe55a1a6212d0e239fdc GIT binary patch literal 3642 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 M07*qoM6N<$f?Hq?O8@`> literal 0 HcmV?d00001 diff --git a/model/Movie.tsx b/model/Movie.tsx index a8ffb26..1cdc5b9 100644 --- a/model/Movie.tsx +++ b/model/Movie.tsx @@ -3,25 +3,23 @@ class Movie { public poster_path: string public runtime: number - public vote_average : number + public vote_average: number public release_date: string public overview: string public genres: string[] - constructor(original_title: string, poster_path: string,runtime: number, vote_average: number, release_date : string, genres : string[], overview : string) { + constructor(original_title: string, poster_path: string, runtime: number, vote_average: number, release_date: string, genres: string[], overview: string) { this.original_title = original_title; - this.poster_path = 'https://image.tmdb.org/t/p/w780'+poster_path; + this.poster_path = 'https://image.tmdb.org/t/p/w780' + poster_path; this.runtime = runtime; - this.vote_average = vote_average; - this.release_date = release_date; + this.release_date = release_date.substring(0, 4); this.genres = genres; this.overview = overview; + this.vote_average = vote_average; } - - } export default Movie; \ No newline at end of file diff --git a/navigation/index.tsx b/navigation/index.tsx index 143056d..be176d1 100644 --- a/navigation/index.tsx +++ b/navigation/index.tsx @@ -3,15 +3,15 @@ * https://reactnavigation.org/docs/getting-started * */ -import { FontAwesome } from '@expo/vector-icons'; -import { FontAwesomeIcon} from "@fortawesome/react-native-fontawesome"; -import { faClock, faFilm, faHeart} from "@fortawesome/free-solid-svg-icons"; +import {FontAwesome} from '@expo/vector-icons'; +import {FontAwesomeIcon} from "@fortawesome/react-native-fontawesome"; +import {faClock, faFilm, faHeart} from "@fortawesome/free-solid-svg-icons"; import Ionicons from '@expo/vector-icons/Ionicons'; -import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; -import { NavigationContainer, DefaultTheme, DarkTheme } from '@react-navigation/native'; -import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; +import {NavigationContainer, DefaultTheme, DarkTheme} from '@react-navigation/native'; +import {createNativeStackNavigator} from '@react-navigation/native-stack'; import * as React from 'react'; -import { ColorSchemeName, Pressable } from 'react-native'; +import {ColorSchemeName, Pressable} from 'react-native'; import Colors from '../constants/Colors'; import useColorScheme from '../hooks/useColorScheme'; @@ -19,17 +19,17 @@ import NotFoundScreen from '../screens/NotFoundScreen'; import WatchLaterScreen from '../screens/WatchLaterScreen'; import FavoriteScreen from '../screens/FavoriteScreen'; import HomeScreen from '../screens/HomeScreen'; -import { RootStackParamList, RootTabParamList, RootTabScreenProps } from '../types'; +import {RootStackParamList, RootTabParamList, RootTabScreenProps} from '../types'; import LinkingConfiguration from './LinkingConfiguration'; -export default function Navigation({ colorScheme }: { colorScheme: ColorSchemeName }) { - return ( - - - - ); +export default function Navigation({colorScheme}: { colorScheme: ColorSchemeName }) { + return ( + + + + ); } /** @@ -39,15 +39,15 @@ export default function Navigation({ colorScheme }: { colorScheme: ColorSchemeNa const Stack = createNativeStackNavigator(); function RootNavigator() { - return ( - - - - - - - - ); + return ( + + + + + + + + ); } /** @@ -57,54 +57,54 @@ function RootNavigator() { const BottomTab = createBottomTabNavigator(); function BottomTabNavigator() { - const colorScheme = useColorScheme(); + const colorScheme = useColorScheme(); - return ( - - + ) => ({ - tabBarIcon: ({ color, size}) => , - headerShown: false, + component={WatchLaterScreen} + options={({navigation}: RootTabScreenProps<'WatchLater'>) => ({ + tabBarIcon: ({color, size}) => , + headerShown: false, - })} - /> - + , - }} - /> - , + }} + /> + , - }} - /> - - ); + options={{ + headerShown: false, + tabBarIcon: ({color, size}) => , + }} + /> + + ); } /** * You can explore the built-in icon families and icons on the web at https://icons.expo.fyi/ */ function TabBarIcon(props: { - name: any; - color: string; - size: number; + name: any; + color: string; + size: number; }) { - return ; + return ; } diff --git a/package-lock.json b/package-lock.json index b96f9c9..eefd3f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "expo-status-bar": "~1.4.2", "expo-system-ui": "~2.0.1", "expo-web-browser": "~12.0.0", + "moment": "^2.29.4", "react": "18.1.0", "react-dom": "18.1.0", "react-native": "0.70.5", @@ -13428,6 +13429,14 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -28014,6 +28023,11 @@ "minimist": "^1.2.6" } }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index e06155e..edf21e9 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "expo-status-bar": "~1.4.2", "expo-system-ui": "~2.0.1", "expo-web-browser": "~12.0.0", + "moment": "^2.29.4", "react": "18.1.0", "react-dom": "18.1.0", "react-native": "0.70.5", diff --git a/screens/HomeScreen.tsx b/screens/HomeScreen.tsx index 233e246..6a92dfa 100644 --- a/screens/HomeScreen.tsx +++ b/screens/HomeScreen.tsx @@ -17,11 +17,19 @@ import {useSafeAreaInsets} from "react-native-safe-area-context"; import {addMovieToWatchLater, getTrendingID, removeMovieTrending,} from "../redux/actions/actionGetTrendingID"; import {useDispatch, useSelector} from 'react-redux'; import Movie from "../model/Movie"; +import * as url from "url"; +import moment from 'moment'; -export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) { +export default function HomeScreen({navigation}: RootStackScreenProps<'Home'>) { // @ts-ignore const trendingMovies = useSelector(state => state.appReducer.trendingMovies); + + const [hours, setHours] = useState(0); + const [minutes, setMinutes] = useState(0); + const [seconds, setSeconds] = useState(0); + + //console.log("liste [0]: ", trendingMovies[0]); const insets = useSafeAreaInsets(); @@ -30,23 +38,22 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) background: { backgroundColor: 'black', height: '100%', + width: '100%', paddingTop: insets.top, }, - container:{ + container: { flex: 1, }, filmCard: { - width: '80%', - height: '60%', - justifyContent:'center', - marginLeft:'auto', - marginRight:'auto', - borderRadius: 15, - - }, - image: { - position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, justifyContent: 'center', alignItems: 'center', + width: '85%', + height: '68%', + justifyContent: 'center', + marginLeft: 'auto', + marginRight: 'auto', + borderRadius: 22, + marginTop: 15, + alignItems: 'center', shadowColor: "#000", shadowOffset: { width: 0, @@ -54,10 +61,10 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) }, shadowOpacity: 0.39, shadowRadius: 8.30, - flex: 1, - paddingTop: 70, + alignSelf: 'center', elevation: 13, + }, backgroundImage: { flex: 1, @@ -67,6 +74,14 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) flex: 1, backgroundColor: 'rgba(0,0,0,0.5)', }, + circle: { + width: 6, + height: 6, + borderRadius: 100 / 2, + marginTop: 4, + backgroundColor: "lightgray", + marginHorizontal: 8 + }, }); @@ -74,6 +89,36 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) const dispatch = useDispatch(); useEffect(() => { + // Créez une date avec la valeur actuelle + const interval = setInterval(() => { + const today = moment(); + +// Définissez l'heure sur minuit + today.set({hour: 0, minute: 0, second: 0, millisecond: 0}); + +// Ajoutez un jour pour obtenir demain (ce soir à minuit) + const tonight = today.add(1, 'days'); + +// Obtenez le timestamp en millisecondes + const timestamp = tonight.valueOf(); + const now = new Date(); + const difference = timestamp - now.getTime(); + const h = Math.floor( + (difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) + ); + + setHours(h); + + const m = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)); + setMinutes(m); + + const s = Math.floor((difference % (1000 * 60)) / 1000); + + setSeconds(s); + //console.log("timer", h, m, s); + }); + setTimeout(() => interval, 10000); + const loadTrendingID = async () => { // @ts-ignore await dispatch(getTrendingID()); @@ -83,15 +128,17 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) }, [dispatch]); type ItemProps = { - movie : Movie + movie: Movie } - function addWatchLater(props: Movie){ - dispatch(addMovieToWatchLater(props)); - dispatch(removeMovieTrending(props)); + + function addWatchLater(props: Movie) { + dispatch(addMovieToWatchLater(props)); + dispatch(removeMovieTrending(props)); } - function popFirstTrending(props: Movie){ + + function popFirstTrending(props: Movie) { dispatch(removeMovieTrending(props)); } @@ -101,121 +148,99 @@ export default function HomeScreen({ navigation }: RootStackScreenProps<'Home'>) const minutes = time % 60; return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`; } + let rotateValueHolder = new Animated.Value(0); - function startImageRotateFunction(){ - rotateValueHolder.setValue(0); - Animated.timing(rotateValueHolder, { - toValue: 0.5, - duration: 800, - easing: Easing.linear, - useNativeDriver: true, - }).start();} - - const RotateData = rotateValueHolder.interpolate({ - inputRange: [0, 1], - outputRange: ['0deg', '360deg'], - }); - return( + return ( <> - {trendingMovies.length !== 0 && ( - - - + {trendingMovies.length !== 0 && ( + + + + {trendingMovies[0].original_title} + + {`${trendingMovies[0].release_date}`} + + {`${trendingMovies[0].genres[0]}, ${trendingMovies[0].genres[1]}`} + + {`${formatTime(trendingMovies[0].runtime)}`} + + + - - - - - - - - - - - - - - - - - - - - - } - /> + + addWatchLater(trendingMovies[0])}> + + + popFirstTrending(trendingMovies[0])}> + + + + + + + - - {trendingMovies[0].original_title} + + Nouvelle collection dans + + {`${hours.toString().padStart(2, '0')}:`} + {`${minutes.toString().padStart(2, '0')}:`} + {`${seconds.toString().padStart(2, '0')}`} - {trendingMovies[0].release_date} - - - addWatchLater(trendingMovies[0])}> - - - popFirstTrending(trendingMovies[0]) }> - - - - - - - )} + )} -) + ) } type BadgeGenreProps = { - name : String + name: String isSelected: Boolean } export function BadgeGenre(props: BadgeGenreProps) { - if(props.isSelected===false){ + if (props.isSelected === false) { return ( - + {props.name} ); - } - else{ + } else { return ( - + {props.name} @@ -226,25 +251,57 @@ export function BadgeGenre(props: BadgeGenreProps) { } type BadgeFilmProps = { - name : String + name: String } + export function BadgeFilm(props: BadgeFilmProps) { - return ( - - {props.name} - + return ( + + {props.name} + - ); + ); } + +type StarsProps = { + note: number + +} + +export function Stars(props: StarsProps) { + console.log("note", props.note) + let imageSource; + + if (props.note < 2) + imageSource = require('../assets/images/1stars_vote.png'); + else if (props.note < 4) + imageSource = require('../assets/images/2stars_vote.png'); + else if (props.note < 6) + imageSource = require('../assets/images/3stars_vote.png'); + else if (props.note < 8) + imageSource = require('../assets/images/4stars_vote.png'); + else if (props.note < 10) + imageSource = require('../assets/images/5stars_vote.png'); + + return ( + + + + ); +};