From cb8210aad3ad9c0ea60b13f9159d4cf4cac4e596 Mon Sep 17 00:00:00 2001 From: floare Date: Mon, 1 Mar 2021 12:09:42 +0200 Subject: [PATCH 01/41] [react-restaurant] Added navbar --- src/core/history.js | 2 ++ src/core/navbar/hooks/use-routes-on-click.jsx | 7 +++++++ src/core/navbar/navbar-icons/navbar-icons.jsx | 10 ++++++++++ src/core/navbar/navbar-title/navbar-title.jsx | 5 +++++ src/core/navbar/navbar.jsx | 16 ++++++++++++++++ 5 files changed, 40 insertions(+) create mode 100644 src/core/history.js create mode 100644 src/core/navbar/hooks/use-routes-on-click.jsx create mode 100644 src/core/navbar/navbar-icons/navbar-icons.jsx create mode 100644 src/core/navbar/navbar-title/navbar-title.jsx create mode 100644 src/core/navbar/navbar.jsx diff --git a/src/core/history.js b/src/core/history.js new file mode 100644 index 0000000..edc15c9 --- /dev/null +++ b/src/core/history.js @@ -0,0 +1,2 @@ +import {createBrowserHistory as history} from 'history' +export default history(); \ No newline at end of file diff --git a/src/core/navbar/hooks/use-routes-on-click.jsx b/src/core/navbar/hooks/use-routes-on-click.jsx new file mode 100644 index 0000000..2765659 --- /dev/null +++ b/src/core/navbar/hooks/use-routes-on-click.jsx @@ -0,0 +1,7 @@ +import history from "../../../core/history" + +export const useRoutesOnClick = link =>{ + return () =>{ + history.push(link) + } +} \ No newline at end of file diff --git a/src/core/navbar/navbar-icons/navbar-icons.jsx b/src/core/navbar/navbar-icons/navbar-icons.jsx new file mode 100644 index 0000000..4bfb2d8 --- /dev/null +++ b/src/core/navbar/navbar-icons/navbar-icons.jsx @@ -0,0 +1,10 @@ +import {IconButton} from "@material-ui/core"; +import {useRoutesOnClick} from "../hooks/use-routes-on-click"; + +export const NavbarIcons = ({link, icon, edge = 'start'}) => { + const onClick = useRoutesOnClick(link); + + return + {icon} + +} \ No newline at end of file diff --git a/src/core/navbar/navbar-title/navbar-title.jsx b/src/core/navbar/navbar-title/navbar-title.jsx new file mode 100644 index 0000000..9036a76 --- /dev/null +++ b/src/core/navbar/navbar-title/navbar-title.jsx @@ -0,0 +1,5 @@ +import {Typography} from "@material-ui/core"; + +export const NavbarTitle = ({text}) => + {text} + \ No newline at end of file diff --git a/src/core/navbar/navbar.jsx b/src/core/navbar/navbar.jsx new file mode 100644 index 0000000..ea2da0e --- /dev/null +++ b/src/core/navbar/navbar.jsx @@ -0,0 +1,16 @@ +import {AppBar, Toolbar, Typography} from '@material-ui/core' +import MenuIcon from '@material-ui/icons/Menu' +import {RestaurantMenu} from "@material-ui/icons"; +import {NavbarIcons} from "./navbar-icons/navbar-icons"; +import {NavbarTitle} from "./navbar-title/navbar-title"; +import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; + +export const NavBar = () => + + + } /> + } /> + + } edge={'end'} /> + + \ No newline at end of file From 5aa01d0ad0dde39623530495e6cc368119ff0ce0 Mon Sep 17 00:00:00 2001 From: floare Date: Mon, 1 Mar 2021 12:10:45 +0200 Subject: [PATCH 02/41] [react-restaurant] Added routes --- src/core/routes/routes.jsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/core/routes/routes.jsx diff --git a/src/core/routes/routes.jsx b/src/core/routes/routes.jsx new file mode 100644 index 0000000..7bc9c95 --- /dev/null +++ b/src/core/routes/routes.jsx @@ -0,0 +1,16 @@ +import {Router, Route, Switch} from "react-router-dom"; +import {Home} from "../../home/home"; +import {FoodMenu} from "../../menu/containers"; +import history from '.././history'; +import {SandwichMenu} from "../../sandwich-menu/containers"; +import {ShoppingCart} from "../../shopping-cart/components/shopping-cart"; + +export const Routes = () => + + + + + + + + \ No newline at end of file From 08f7f53dbb812d9137e71c89cc68c93af21a984a Mon Sep 17 00:00:00 2001 From: floare Date: Mon, 1 Mar 2021 12:11:20 +0200 Subject: [PATCH 03/41] [react-restaurant] Added project images --- src/core/images/background.jpeg | Bin 0 -> 10375 bytes src/core/images/background.jpg | Bin 0 -> 291797 bytes src/core/images/brothImg.jpeg | Bin 0 -> 6130 bytes src/core/images/burgerImg.jpeg | Bin 0 -> 11903 bytes src/core/images/crazySandwich.jpeg | Bin 0 -> 7877 bytes src/core/images/desertImg.jpeg | Bin 0 -> 11770 bytes src/core/images/fancySandiwch.jpeg | Bin 0 -> 5282 bytes src/core/images/funnySandwich.jpeg | Bin 0 -> 8318 bytes src/core/images/pizzaImg.jpeg | Bin 0 -> 18833 bytes src/core/images/sandwichImg.jpeg | Bin 0 -> 11857 bytes src/core/images/sodaImg.jpeg | Bin 0 -> 11277 bytes src/core/images/uglySandwich.jpeg | Bin 0 -> 15176 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/core/images/background.jpeg create mode 100644 src/core/images/background.jpg create mode 100644 src/core/images/brothImg.jpeg create mode 100644 src/core/images/burgerImg.jpeg create mode 100644 src/core/images/crazySandwich.jpeg create mode 100644 src/core/images/desertImg.jpeg create mode 100644 src/core/images/fancySandiwch.jpeg create mode 100644 src/core/images/funnySandwich.jpeg create mode 100644 src/core/images/pizzaImg.jpeg create mode 100644 src/core/images/sandwichImg.jpeg create mode 100644 src/core/images/sodaImg.jpeg create mode 100644 src/core/images/uglySandwich.jpeg diff --git a/src/core/images/background.jpeg b/src/core/images/background.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7f2777e4987476f670abccecdc9d21e5ae607b5c GIT binary patch literal 10375 zcmZvCXEYpc@b2!idR?pcvh3=;M<-j9wYrE-ltlCviQd~{)r9D*NOU1YU!sc^r0GFO zltc>Q{{H9Qd(QoEpZPX3XP#%iyzk68bG>rC4q!qXp^N}PAOHaT&j8o&0SN$V3Q86h z2rCN<3o9EdJIDWq03Sam2O9?mJ3Bik2Olq7fP)Lh$IdD!Cj>)CNJ~qz^DC$-NU6Z3 zq$PkfG&BtK4BSji+%lp9Fsc6^Wd487|LeOR05DSl>VcAEKp_B#8A!$qydDAY{HGBN z{2!_R7vumC8JGe{N%ddUhzS4$k&}VJ6y#(S@~O^92|%LWVrE1tc+uv-}o6*MHmIYj8_gH zY}N0xSpl=40TYEmzR2?@)vsc(xWH)i4eIiB9-sI*C1SOh9HtyP@0N#?w5XQq1&WIT zXX`l9!nb;IS4_HAM71J=ndus%Mx9#$^czDW#qqfIYDOh`WUV;8x#EsSbBM8W%0xCt zsl0G{9-|2rQA?L9X(XLlvJtX`EzwtjeQ;d2#kE*kA0s}yb6Z`t^WMnZt~Y(BlXE7stOCb&_t62DVmrsYf2-NOKpqVClmn1pN1 zOE?Q-8=K1ni8Gj@x4acKnWAM(Vr8^89Bdo9`^TG3b3MUj9$Y3DP8YnN1~B%!D|G6) zK&57-sQOxXaM5~a#WoqU zcUJ>HV6=shE2&Np7Nh$nQD0}1jSoh=PRq2FmWtL1XPQ5VtJ>0{)0K4~JQ6PPh&N^a)@ zt3Fd-D?l5@z6(xNQ3~z9*(J?$zT4%tCsycs*9VNS3D*l`Q@PsCYX-UB^X>}!R*Rqp zPvCgiedBdDzAhwqci!<^+)#)ycj?8i5(oFZ{amHTo@H8gi58SO(jORQ@)|Tp7<#@r zl6<1WNfjz4-AL;lP1Rwru9#MpgV}fWVCUO2y2U1|hb5(Zrx?&ybs&^!Z%6YIL4;|$e?;yQIkuloJ1`$?1@BlCFAbrXjB*0Je(vyA|zbE z{s}!}R;}+v%1#IlNR9FfgKE5aIkuAFs~C~rWYh^P6f?twkI8V(inOp5%PI$XdErbJ z1ihZ%bFlMU?wj^}bFE``1n$;asKhG$v*WK^?nlPz*gtuXV;bF_w5jdWPeOJU#)La3 zT6{dR6mz`WJ3GUuL>R?lWs6v+lwC$f0xf}o{CR_0zV!eIo{O3^cyBZdX9w$%xZru* zM%64emKyU#yhGaMcjH~s1^O7uBy9^fa{9o48u~|dCOtOgkXU0tzp0no{um%}$fs#w z_MXm@!xWKIB%T;L0X4({$yd86w^$`~I1Aq$h#4Gy5?Z30Hg9Q zEv%2<5zo7%Nb9Mis1C*%-9l0rQj?+TnG&5>wJY`|wLOMS@@~XfMimnQG-=ML2b5g2 z3gK#Di{>?*JyLutBS%$|TliT=qr6ZAz$kT(b!&M$`w?oVCZWealE!w?k|Re*u1C1T znd#|p0$K!!e=AsOoa9?r$A6=}R)9&DV#Jc8pRK~(W;;)mokER9)79H~j44Ib;dyW- zAy*!efG&oxr7#seLY7uzt7oM21jACHMTxF7a7s}`Zc;6I8IY+~=O8>v=pP9kO`ekf zyed!D!x&X9E0bw}3>Y0^T#6#|exc{zuOBV-9V#1t~>0GxhZ4vq+h>$D3>Y5 zL>=1mjd9qVhIGc;E}v6UvWJlklT4c@aDsv{7Wt(~H)wbVZt+{wYt{9Ez3#^X`IznccW7D9F0BB- zk;oDySm1`r{paAxtl*3(67D@|mNN7T-!q*584>E|5V3Z-?iishZ2c4(-Tsnv@6U*G z$PJ$A<}X7Oj>}JMzgX#C1Ey?d1PO%3m`i$H;yTq{2=fPfqdOie4`5Pg+_bOFi}(VU zQq>o4Dxan~gNg|JOSk=0y;)r9#Dg%FA5!geznY8qb0z~x-J@-+|DIqlj3YG?wa!RS zSQ}{LGCZ5g?EIb*%{2g$wcqAR9Z1i?>0-s&CAWTPs5sDL)|yZWI+1UywGZO-4q*q- zk|U`Z*uT1k!W3`|{M ztnTBgk@*LRIP^rG)U64+1QTbx5(AJP!~bHz=xxr^w%W!pp8~+$)d^|_BdkTQk@Mgc zJ>A;BQqqKw3ym!n&|s^00DKVW^`ququMiTw9784iFjQF2q55q)h7>J(H(Q_R0-&@Leh_9S7o6Ys|qhgQ1y3q zNnOC+yA8hN_BJderC^n&Y8MSf9Gf5}c6J$x7 z0CjHs>yU{9dLwDg;tZS%s-U?z7KxqChbdYO1yQ=PTDy(bjxC)hEgM<=vWT->o_rmd zHvjS&+xjeLhTnqm2f7YKT6Ml`G2R#pkTnmTF>*6fp>Kp7x}_akILFPm%KtY`a;CG9 z(^ENHj{E5yo|La}n+LKf6r#>^8KJu<>IZo0V=~*up?h?41)#J11R|m05ElH#G$TCT zbN{|JB?31-EhV9sci0Hwnd>MXjvtDfdoxa20}d^5PeFf7>DbfO=nlr4b3U5cf}trD z_jO^n1|)f20KjE~#lM+{l=gI#r7wl{c0Z-;WDd^d3b~7N5%gO}l_6?MC38HBgK5m5 z5$J6)p*|m1P>~FaqUeuDMiRS6dYuyGsa_us-FdWztS}9TBfk8yyWJQ{E7NU9ELebznO+^v@q2kx6n z53V(&`1h#J5orbLV{(po%00{3>SI5WninC#ap#ZtQgMfsw=(%&M1W)%NG8{SA{{zH zjNKr(Y-3paXZrX9K@_I-7b}5@ir!}0*&^~&i%Iez>r_cK9%pGAHyl34KvtYc6g~8? z0s90*j0ad>@Cpq%2$tJf2z8Q zS=mk_R`r;RhY~}3EWVHlvlJaOj?V6018g-|<$5rz(&9Rr$=bFM}Tc9i%3m$t`+rc_%~U ziB3s)6y=Y)c>kpJJdxOI0KL%n!`i=jn6r#cMFrfj@X==Z97|L|60i7y$y=JOf^8qnHuI_3IEbta^hdq5bdyn#sf%uS6 z$B(}{cPm~y(r^lEg>vpl;siQS)BqIOKu4|bWuKnJr^)?>DW`Y=OOd514nmHee z50S*g4BMYDc#lh9?qD$h1xcb)jU-A%tvH@*bd15c1}H(JXALZ(tATU6GvQismX*74 zF?6K0mM4ebeUDE)$ZODM-vIcaB!PTY%K@D`ns*h|@8AC@ZhC&J23g#vGnc#Wv-#Sn z)zr^0AkA>Q7_tjyNephDNNpX;U0+d$BPWCE1wK*dWDTJ?=^CHA*Kq344@zn#xF5gn zB3RiOEPnEaN)_#xa2^b>+;%DYSdm!N+U{!b@|7{+Mel6`CQc&ogN7_l+^sF&_7ST5vQd&4Vs&pIjVd)EN0#o}=DdpUK4lbQ05 zbZ-v#4-ieR-hJqp>ASc)4gJEQS~G@c#EyFHqxA8|ZuH5IrEy=#p9iB+Tdoa$@y@?w z*_iWmIwBvu$rd=8?>|9|_I>ETU?wX$8Je3`x2rRGYE&C>|0`d_d!7i#_p7-n^pamF zah@!C=VY(=JY`O9A<+c`Rsv#93#OV?)1Bu_-<50Gf;uhJ`i~T-ehuuzuRMJXt}C5x za-Vb@$^QKzc;efpXl>T}g}BL<4GBlN{Wk3UlAfuaPM{BL!e)40^J{D1soaF|l<}Xo z`bsMFqQ~S*p{mQbdkfnlxur)t2(9`4{jBI=KKG}@vi3)Wh|c+s@55PR22EvL<5g8e zY0Vm0{uLa7CyuA+t5BFz^UmFMGW5gD|7xpEE;+ZxCY!#y3`pC>o4;9Ia&H%^nquW zpI{Rbcd{oU$Cq=qD;&)iGMjoft@4#|+Q0I)x}D!8zbW-cm#`04mzBhD{4c(oS&~@F zHNaS-7U3?Hu{Fx}D8TA-7C(Qm$R;G1&qOl{}`C9Vq3 z)G?4mDo|V&Hl$3%-HohHL3O@yuWd_U$4ZGXNP@DMO zPT8_fx7?`RLD)}?I3Y0ajLhq`WJQH=uowVR96Vo+avPwaoYiMWQ?riVJBBEWv)Tng zYb#t!_$WHkP!+lc0<5q-vJWkA(1O*$Gf<@9j$OK)lzdXo2q(nBi(J;QI8h4X8f&8lb(Qc>3<_D*jCl zdXoRk*5#aKJAhj_;wkn!%NuI8y3Yw_pJF7n{*vSdax`0exRVH_IQ!-PR5$SCP~Ca_ zo0sGNoP#&X{Wr}hPeOkrH3sNC*`DmCf5RU(-|W!6O{1cBQo?bndi*S^qRyub8^(NF zt9N$+v869z*$#pBT`td*LKKl8s#urx@`uKJ+ao@>dEHeR*q8q78 zq_R>q%D4UCm#Ve)1Jtw8(a|gXy3pvNW(A}@rSI7Es-mWH*Zz~eWk?b7MOsn$4OTwK z@A1p;Pa{T^J;iz>atm;@645D9oj!5kj}@;#}N6?w8Q8`-P{W!^a*o{^Na@k0qoz0-1Y(r#h=F=Ki4x%&vGTxp$9 zIAKX3rl9T)usvVhIIvZsL0wrsjl$MJbO2I{NIHNrK&c{+&2Dv8K&$L`>y4Z*-BP2e zEXeYS&lemK_8h&qXq@c{mDb;snJYEt*0kjQO(E0+bEmH3m!z#Odij5dR5=D z8hlC*qhoJg%^TdAS)@3)LCfJ!n%w+Uw#C8QdV~oJAxU87PEh>X-qa@Mj8h_!xt|CvH?fD{~5A>=P=6i#KZhUZWkULkKpj3D&kkcFQ4g2pMu|>^-G&&gz_?T(8Gi| zn(W1>M>)z--p_7N_-}hJ9C~_8BSNS64j+Ek6MQyG{KkmYvP!O_Yg|MHfG1YZQliqN zgWXP2FjCAF%<}%1z_V+>8Dw%e&r$R940T?z3GXAiM@H}rX1Z2$o<`L^N0-Sc0U}O^ z;gkENtF8c}hwf!XwSNKKZl(x?TeQr@y~a&0bu{(S$k*TmyEd)Nw82s<5|%T%FDjM^)oT;CPOV}2`EF6|LqWBMHZEiYb%6*E9cPy*z!!iO!BjA!4Lt2rz2g4`4ICGD_=p;d3#s6f2;r7IJ;QS}8euLmw-n zO0$cQFse(E?DHg@b?mOd4^(E~)R3qBGTx_BJ)uzDyrA;w_722z+}oheEUgBi?f)-U zstubi@_L1mZMWv8zXd;ivUayTeFTyGVyla@zn~+H{%2O=L?kxlAjODRd!RV<3X~qf zkuN{=vb{Cw?$WuH^EOeO^H#xWdSLdAGLUsU?7bX96Apbc__M+B#?5;Z+zD*nspMb# zpm^=6_EGNkRu<7fXe}5ifG?2dO|3hc5m#iw=B1mEsS-tt__)0^Yka$Wuxs2#EL5HU zbvyQWO{tB~z96RowLQXw+^~6v96wxomH9ov7ngbc=6*D!5_7^qN-lDOx{Vnq7;t|={L(s zg}DV&E|=9xT;yuo{`_-OW5KnFJ96wkH)hbQ@ebYio|a)%{Tk&@58*W80iU>qO3}rh zmh4=Om(p9y)2vT^^II2V=L;lKxZc&Vc~8g%vvtPJZ;UpQO(rgBBiu=R{A`(@0#n0e zyqWmMQj(3wJbnFNP9RuPt;_lPZF5-oV^03yXhTXZZ668Q(P3ksrLin$IeVZBe7G-% zcX(%>R3@vilRp@a9HDvS=%h+*C`;IDlzhxcdojWy%y9@%S1^Bi>m>uTQ~vvGcnJ*Hl+)I863i4qzg)<9?K>d## zbW6vC-0R#^`wkjs*{HdsjCFKtOC!d(jfgF41bKGB#WB|afam7o!#tyxgD;{gfl7D( zz-iejZ%fRptUPRKLt8iZ=BdQtDsL|zISh(^Sq*h*^yqY4B29=|CLj#ak(%$o^8oM) zUP;2>3iNO&b-F#z z3B1Fzss^16FTS$gb5(vUZ6X{X9mpb3A?Qx+B7C}Z0WusxWs$&dYztD;#C6C2xND@b z3s-wC33Gp#!qwIwsLVf_R*bhAB1Rd9&pllxKW(zz1(3%qx4_CFy6+j*E? zM1|$;CeYT|K1*aX3cQU+MqGDmJj`La?dDHv3h)?pU8!Af3-((wt)~xC4N($m0O?9` zys9!WV^rhL1hOPikQ#1%6G2h@#^_ADwfdj%Yxp-iiq(OQrR4AKv)^fSoLccndmZUB z)OqVwiCV8qXK-b4Mmf&Zp1DG(BXf7CDDjJq4$i_59^actk5hEDFJQ)xtTS+P5EXcL z;Gpnooc zIXt2Lqa3LXUFLk+RC2Z+tEPEIwB!#QsQKZks@^Y#>{DBuA8!82YO~NegQAExTn$Wc z-bFc~LF=2N9Nilt%@ZLESJ!|iN*MBm?^!MHE^-T@8bw6WN zKv0b5&sYVeN;{6qbf>JUij>11XXFUtgObwkv*eB1xaOMHqBz}m`BeQJT*2dQmY#5; zk7$E=AQE(-#VikPXY&+I0P$q%Q&wa(JD9u9#{vx?4)v6r(Mex!DyuLth)_NNh3Txr z5x=}R>LG`AS6?Blak=Pz!tEc&7t88{*eW6ojm!B`mZ;A&CZPZ@NszO)I(aj4%=Ura zHX(+G$+0@pX^VwuN!j~IXHn(mPv78J4=Hj>;@?ZNWif+hELBgN-17!AuG99A^xQ8w z<4=nhvEOc!sJ0mj)1i|ViDAW5CID&OW>7D%Ek-HQ&>!FXra+GX1i%F58q9@$|LWzHAOt*#5^(`hd6`NJ;4I$Zz&B8-Q0c0Fpi?BYhy7llHz z_cx)a5*CNi6)GO2le>oLcMVo7f4Dek1zC^_NF|j-m)G;ZKd(<(LM4|_u2c}5)%{c0L>SyYsBNcHhaLTUmnnbF?`+pmoG za-q8#wY{^i_+o6!o@lILS;nXWucU|ZOYTI8^#i)flJ8!=tTc9+o#N_N zJ0yR{Z~ok) za1E#tiAMV1>li~kXmBPjgM6^wF1`RmDxO zfwNd~$4-LrslSgIZ05u zs_%|8oagqD6DnV!8($t*y68?wlEjctgmr6Ful*fLq?%lB0$C2(#29yb8^x*_eiqjk z6&!Sl^PKhsQs+x0s>E0ho8|!%X&__e|7vT8*Un`Bds#LAz^?(pPHwPLO8$&cD64d%e!b;`3S2EH~d`ms15gQp3)HNS<*vq= z$Q8Sg2Y;qe7RH>vk~hBQI zINq!~EKEG0)rQf5l=@ONgBYOX^qd-OOl27gkK!lqhM2w)oe=?CR1S81>TjrC9Akm! zxPAW;z?(?!ww_T}m_CLrr@uM&cB{E6j?|yoF0pW5Wn*Q(#(n+zHEv#Bej$k)`~qTv zyu2dPB4W30O97?$Zphq`k-Q@zDJA*eMd+BAm{^!uxL8=YB>8#yCI6qde?I~^m>KRe zC0w8r1<-TQUErYm_cK5c0H9<1?`i+fMn`{v_Pk8Yw6lD)GyiS>=Oo~N&i*?GV7)*G zpl83pPWwH4s5^v0qH~nF`QLj2#kKG*Bk-lQJqQddWvRK!&dm*=0|(wR37`glyFRt! zb+R__#m=~L;<;3VjCyrHA=B3;uljjGeSW2kfx{@`jPDVDdn?SWY3KJW9x5d|Aex*;(UzzXA@eQf??1NByul4aOy zSHzVfSSp4UcXqvfnBYm>uyWoc>j7AVw~L zB>x~t^-mhHn!@D?qTqxsr>^9>wff;7YEI3qMtb7uH*edvJF@h=xM^Q9W)0DS0h7y; zCFyC`0dh>X54l;oy}FDKn9f8Gqj+a>D}@4_vvxd!S8T;o3()?!H+LfPd5uE(&T?yA ziG1PWl7n?Ok34_?0xNaxVChJcws&_0kLZKx@Ty8v#k zYoXk;-0aqVC5btS$z%P>!Y}-R>{%}?-X(cCJ&q&7-JCt~$`wR+yaJJMLTC{!Nv`z} zdshBhKg?KC6oU-H*qW`{WLQjjlS5j2)oRv1+!W7jYJy}2sb4dboD@v9#Yh4qUm`>R zA~$uC(+v~LxS5kz1MJ2Uev~kj@CBVb~Sa|zTVUdS`oDlCet>kBlh3Rk-2_U2Ji zS#ntdfQ2?MSwu&f5n@Ia9NB$b(kKzL+n~~iAcJcUE3ndvuBMihde2~8Pdg5mxDgne z4dQ!1o4$=fI2cCw2b4U27wX+4RoMir+r7T3J4g}6SsO8g&4dJdWhO;x)$Dw#En6J= z(RP*%RTw|Vg0HAP-2Ujh9vI;3uZ)?utmKd;Oy-GU*_LcaF9zG`SA?g9D-NM<5}0; zIrzjO1(o;p(;h3?e&#V`y9gS5aLkV>113tAu`HKA18`ox%+00S>lDy1h`Ga)VkgZd zj>o?&Ym-T2ntW~}e5aaKAFeD#4sciva9FNUW2fWn6Vv@1l;UVvtXgWx*A^nh>*tA| z-A=!cS%+VJ(?mc4KcBkPlqFwfe@Rba=W(hj6ZzH&f&oo<1)Q#T@WzMRO2bp$v&k3T z4)}Y&YAM+2YE}8IHenQgV$4{q6Xmp^IDJ>F+n3bFw)~{2fTYHWBKkbYP442 z<2M)Apy!dEwz>#B|5Xl-{_z}Zh@a#rOav$ba9}Re^(eh^mivKQpU1!a858~0i{;NS z+yKe{=1wv~*(mK1i#1CPLOgQsrb)}^;rJOTB*Vq#3I-$b;9H=|TxMvcnDk=`xBkWE zre?8`=f(JmxXz!fdoA7q>P&9IaDl;O!S`lEk-%j-2uACm-4UuLVZcep@@ViNK%ISU zF|jcm%ZlR-ZmpRjcNpS%8(Z9OH8+;*bg&XOmKW>g=Au@2)z5^)8_Y?8u2?_g)${@} z;YaP0`*B}9v-D9stkWR&Oos|Y-&HUyu?9h{!shsW^`lLN!i~R+O9+Jq!nWnoFXhZg7BH(oCI0T8;zxy4&(ei&jh29k6kS^;r zCGhuiwEdHqClSsbH`*54-JaSel8Rc%jH`J$l1gK42y%1K$}~depwG z30BTjl9<3KnLvGzC2eY|Pn6=!st7PPIN~B;Si=J4fjUGF!UV;+t3Jv7Z9Zrle(&wK6KoKU%4%6Vn-`NT;xUD5so6Su3@_j!#<5VrUy}`IS!O=Q?$UVV=rMOd z7XwmH6ntH)N$COAFH2ks>TWUa>>#(G(+mOPP~(j|COD{bdUHzHOWRN34^0XFy78+UA<(SBSRttDf@-Bd=O+)SIq2_iL;iA0`vv#9j3jF>8ibSUsn zrstzgu`p4hH|<{5Jcj8P)202s>OWEzd~V~wnw~3z3F|0cj+m+&Ce}oLW_!KlVPYma zG(%2JxkC{Da7muME(OHIGUh1QXE7AIVyoZZ=q?C3-5LUiU%@y)q^C%@tAr;(uI5bv zT7{}nWz8TzU7!Ad`BXctMx)Ko#1P$w+@qAUAGP9W$99wI@uRM5)#)$K>`!XH6-$*t zO<6F6{#i?&+>wIq@`A2{i@x`H%$zlzR%=c>`>49S!gO|Y)zAzVNvlG4;nEj)5A z<+k;1UBfhg;^oe4G&fRttb)uYnF#z`flvAV^Nu4_qBfWD_RTO+c_ZM37mU!F z659l5y$Ai-UE{IcDnv4KNev4ltx_wu>5&)LPq}6K0+qZ#Hg6w;$t2JxCIbP?fD3_U zAO!!2!P}8~^GL`18A|vYIj7a|CtPew3v z4F1}l?8V!%IxNE0s)DhvTtwBB`L%97|L}Y?#0UQ{4t~Yxg3SQP#>1#j(6PaYLGT1s z|17Y$-hQOMz>{~%`~_=hkn+ho!Iky-?gte+GpBz6S4KMwPX+4=L{WoIC_&PbIwMAO zGyBLD_wuJ&x5tJ@Es9g$ZfI#n)Q@-JM!3fYH#t6H@IkQV`)Q1)f1B3=)<|J4Gxc`R zO7xZT^3Gnod=pHvMly4dy&b|&1<>j6IF(^_2R|G2el}swydCN7v)beyUhWArLt?Mn zg=*k?qR@xq9dK^BsfxGiJ0Cwu`!n#0_TYGutG=c~&A7xp%{^yux=l3+7z94n8>Mff z&!Z2flY$_$JTJWk%i#P?AkS{{PfRI;R4#j?9$FbD42bFT=bSvq;LrJKxV*ysxQAN@ z%x%D%k8F93W=NYf0C4Ej@i0#ra~|8&hjUe3#NpPGa6|neSKmGekAg$%#s8LOepo1e zVNNnDKuT}P-5)ttT5pG#&}x~4LrL#O;W(F;0EPmUYwm3mO0t@px#?!Ka`9_`)kXPz7Ekg^Jw4<5VNqUGR#3!rZw&r;bFnts z8I{#1P0JA|d*zIv%zxCb^=w97Zadr}mSMk{W1XTR3xd+)dzst*3q#6ASC~L_r0d4| zV;~FLTar5H`d(Mxh~AFi1_g14ocssQw<9CXtg4#bv(+usk?cF4Eydn1C@RphSBsp1WXHZ6Ms-HUKU$Pr;dVA4lfZcMLkV zZw97>#ATO!dns9Mjj`&3n_A*vv*S;)W3ISy1W~*mX~DSbAG00LI9TojzMiGhTL#W0 z2l$gh0(aLagePvTi6r|fuz?PpzLY+XH9LULFyrFdmXBiz;-4Vv&)-G$4KH4l{THB- zeWReNLdiOgGMuH07^+V)6Mmi?xUpF{`Q1v1hSgwGmVeoF`yBFW7dh(FZ&yCatu$H5 zn;^H%skK`O%(;z>jx<G?^jYpYqZcy!XT2bbZc^xsz?B#F!d7PCO-Iyr z%_Q*`1kkt(vi0z!D9JIsOxW!DiI}*kc+O1|#4}os^tx%1DRN6s6=<8xqFj;6`W^8S zvG%-(&uQ^h@rkQE;R<9)&AV>NHB>|Ea0%Egt=^dBh5RTsW{$CX0LnTVG%3#t0HH5ude z>~lFcj76k`{`m}1;p2%9lqy|0ydYN8foYnA`#sO`Feb8CO29ty3}n4)R%lM!hTvwo zZs|X3X2Cmh68vg-tvy;9{Y-z+4_rtwo_yRRl#R{lV1+wOtLgLTT36Ct#8@jCWuipo z`|)YDw6f^V>y(P!Qv2ej+WWFfee+$ldOLmQz_KkC1dC*1%_Mx5Pn1=d$lq2|lO{a# zK-R$4fzM<1twtr+?Lc+%_1(|aS@18(2NWN*P8t>w1=32`8ceEZVc*P8LjSgMRm0zF z7Gw*>vURxoJ#(!cttIt=7N^m<=B>PKr)q1ut<|9}bFu_DEac@}lx(pNIw-O;&v9d! z5LL7o3GHfYRNf_{>V5ov7>60xuI=T+^RvDL&dCc?^n+lg{pd!W-kyO2{JtVi#jK=l z%a2<~hFW&G2^pUg2~+r3Q2{hfdnESZ1wxmnd2QKtbGvW|ofCYbWX6NVzV#(;kzEfXn?^W}v$BQ=_8M(+*wXqP^R~YwGqu zNelwR!XgT65=83mrgMIde4Pc7GqrWnx;dz&2M`V1R>OEMRx3AT>k1QZBOblx- zN-v6MshMmpRzIxHuL?SetA~6UA;M9MksJd>rqeA_j$(=?*N>21eX{Sow|zXLXBCYd z9}+G|D`7|$Qav#*f#}Q`;uq~o1(?V!zYiNVW%?O--bE98gVP4X>NE(JeEt2Ad_-`69s&@Ckqp#*(EIX zQq=W0E4+=c$CH)YW{5fgsLiaQbSvJFwO71k2r$twkvDoK#mLMdm$_5N%qY84!}}oq3Q+ z=HYD6<#zD8H6cDYUzYS!)?K3J44fUc;Q>e zfykwMhP>UD^&rd7yo@+lQ}f}8LOZntF3%g49#y`U_(9n$QrcCTtQcOsrf&H+B=JPx zY-h}TOFul^+jAamBKS(Urt`-_d|G}42Vvb#JP=3(duWNO3`)xsu?)4oyy&m2XlGDK zzrwN?Y1;me0rdF`o_~Ht9L$mfDc<&XBpf*FDq}8P)XwBiYS0_R74xTsThqVfX6n~J zEi@3D;sDzi=-cSnA=2&Xq`V14VFwuOF49OCe4~CAco03q)DJAF=Y)`Gd1D zk`O7Q!8Q7ENtR3nY0$LegE}Hf@O2y7(U4RU*N_%rXx>0v*5PHw@rc#)f}lQ122Ymr z%O9$Hr`)VtUr1c$q`|(g(<~s2OM6Dm_<2Eb}Lmx;jQ$zVvK# zIT)ELX+A=vvPddtDVYdJj;#fNa=A3D)Rlyx=!3Mj?V~yaW5YHEBPCti4?46=;6gF# z%4o33Xo&BWIrmN7QM>x7XY=C(d5ro1EoBlo_gp2eD6V++fpD5ZQF&3#wsLS5q{a4= zk%rFVrW*e3`+|}#!@nJ(Qb^B$$fR{m)Mr&n~GNrN7p|C^*O9`SRv7|<%Bq7nEObOHugeJ12 znu&>vhr0r6Y9v`$%7~Yka|f7T=e&?GcJxBlO1J}gU8HJ*UjrSp%5rl%awAhHqP;ZQ z%R9(3heRCo`nSC((Q*MN8NU20$WDi`U01D%Uw^yln@BC_$ z2xy(!c_YMK>n#W*5P{Izf^w(A&g0q;GPISlnU}_~F=?O1GOf6q#Xg-n=4FkH+fr@} zxqn~dnh&0_)49IdH>u1MRj469d-6?d=*e@J-|=a$*l50HklWAlsB-c8O%v~pa;EEsl&s-s7nLaMJG#*?HvPC*Es7Q zN?pgi@cUNxb(Xi^StH=Z*bL$M3%`?^0S^960pnGs0hV0xTG81Ewmj89wjeAVbwJ}N zVMsyj^&d0ItNd!x0mdA5W73095L-S*_-4<^O_#zG*-s*sfeypip*4&$DlEv>q|wi; z*4J@}_^?Zn-h5t6I9Fcy^=CLohM?knHi~&9o+&I z*(WY>LNAvbd1Wt2?sz6~i-h(?TTsS;=LfsNJAXk6P6CD!FpKMt*M ze7IuDS5`$NlXWEMylKdv&O}$28(?kvBhaAsE1?$X5}6}Vl0Ow2!9HTPT#S~Ih50p& z1phFM4`xk3U={|qMyD#y)cFgKupVp2duz|DqqXW~2+&L&NI;f0d&AbSbbI5JmuG3D zA}^U$10zCJ44E1QH4i{+XT24+rj+~Uq+}?P?T3|8(!kH=*PZ$14J~GxSoRut7LGX# z$B_ZXdh^l}QIs-lP&0~mZ45GHslSyu1~kiy6@v4w7>&S3@5l1j`W&5zX4=Ql*s3fB zf63P>Buw_6#A~ew!u>Bw)tAyeUmri!_#WvXqnfliHeNoj1R0Meg;0n|b7nVEE1zxq zN_eRLZW|d3KbNy~^_jBl3!uV01D3;WbN~X}V>9c-@dQbL?}qQf!uO{h2Xz70zX*x~ zFSv|x=mKa}8yIY_Jf*f1272>5>+vni^a|ukXKG~dX{Xf# z?Lu{}a8gu?L?F+OvvOVU7sy~_(Vs;gnsFBEJr7(iqkptDV9_ftjl?HlCkiWuYGOqG zA6|+1<23TNrleGo#{bh#5}jlm5_>B*#h#pgp4%ZeK}>>Wl$=R##a)5gj{U2gAgi>k zfVf|M`~AdzFV|v+jlRn4_5g{r3`)Jnpt|_FqkbG% z8xc~7)eRnBZ{7}TcQ_ZY5?k0BV?XEYi$n@owIN zI-)Z%xuOW4&9N@9oOP%CkMPLbIK8G&4KclX3s(N&=cN#or=m9$)2j0b@iLZYrwPY% z>J$?d1ftveSmCmz5PF|HrCzaIJmSxDg(ax5zb?!BX1<^ZMr7SE{tb@LEp($hY^#uNig zJ};q!1;BU4H?8eSUMwH6p_SRz>=zSgl({HI2C-JNPMFd<=*qt+;}`tk_-sTGRyk6z zmEIG};ei@d!w*gl9Y4gy#UJrFD>tQDDVj*&eA>ATq^f7bT`sbtbeVz+{;ILEXu(iGf*0G_nemP)k01sWj9L9;@M$VJAZ=5KU3z&su zywZT{5BUeJS;$aEuJDkJClvYHlgv$8_afYmoQF=};nV%qPOiL@5zWTjZ(f=}d2VH4 zQ|l|Go3E=oj8SZ(Cfm$|lN=p$9lgYn4Ml@dDK{=}IfB}yQFF~fc4+6z7cd?wT&np) z-*%lpaf}CjZ!WJMU5jW@5lip$*K7XhoK#RrW?HbIiX)|XNU3}xhMHBtGIlfDdQ_&2 z4>>o2{p)CNOSmGTEwlvtx-huT)g|7iXAZ5^2EW+t(^9RVCGIEOb|(g?Hj<=9DtH@0 zB&m(4A75qqG~t6h(~j>MKK?UOtsG+4@r7f{d)s3XxpQzl9$1hkJ>YRB*rXw>LD=rY zkCs1mwpM({Nb6!}cxciN7m7C?r@pS2A`o^qSwz|FYEZ)Gxh|tISOlhIZymbuWP!mv5a|z9CilOjW^H{%P24WD|c5v;D}*Z%D;NlV=JD54!b zH!KEM3Gm(hUx+vgD@*4uU*yj=aW#{x*=QzmH=_z0l~a9!x75R4jo!aSYfWnNiQLM% zZP&}Zv&-t@VqB5Be(cBcTe)rkb|R4Wgr^KJB#oFd=vClD^r#?bKY+g0a3aVmPr&`B1v> zxbH4GEzI=TWt1P>;zTKY#Ws6TEL@lS0+AjL9Z->PiY!8_t98qMpU3%*G^+o2lC}P&^ovZoafc7^2WXR*2I$SW(+tf7 zU*cC@?w)<$Y&s;Wjx`wEiddJQ#Rm{weti*C2>Y$Jg!f60M{}55M}kr8=A(Kvk%JB0 zCoqiY4bictCnBg=SA$GeNYua^loRwUm!_W9ERsC^DoKuA8Fmbe@X{AwzY^HooQmA&wRV7W}Rw?Tw zD&(WoLsP7G`|I#{E55aNhCd#kDKW;Qe~7n4p_)TBsT*+l$4PnZZrH2oAwJn_OD>{& zk_gFOuACY4#n`Mqy2VFsvIHaXC&K+dOrUt%&YsPZ(fyI(h~>8emD$+5jh=0J=l#C1 zNX6rGUZd2$62uj5f)4un57f@|yTW@nrw+A+wx`io)l=Utemq{eXD4UZ?J+Stx*pV) z6%$>`h&XLkmI2co?6<6H!}cd4(RRLuVTNX`3of4@)50QCa_sF_29Li88zT}Z7ZIZd z3BF>De z^Q*;?w*55+}4V zAz;~E1a>y@VtXyXh^ef8cRMor$~X8E_rBJdwMV0(BniaPK**v-+Cro4h&isuy?WR? zVIgZcxTXPG*Q|IHb5(su@iFd+dWz`V>U$QH^6E|URW`!Pljz59e#F4pJh#Ym_Ksaq z$l=b@Gjv%doJv77FgY3HP%v7CGCJzh96NWfU+XE>2{U{YTb8!C3O$aroTBLL9ADZF#*UA&D z0f6;Cug3m-k-YxHE4h{inK+z8YM4t9iNLbaRa%V^6gww|5=`}I`Voo>SzDj04qZPJ zsf6Wbjknk}J95AKIrPYi(WpAFR_t?RrilPa%N;avvOF1bw0QAE@ZI1%1&hXU7OqJ@ zR)1hLQf;{OD7~Ri@MtvR&wKrS8!mMi(Fg=_!P$J2rpat*iXvVjx~BkAx8?T!ZE4;5 z!D998ZztefDGk`d*qVAsYpt~H@h6X5%~?hR4qN`|rq5!pK!I;4(@}vI-lY$ksE;y? z*a)uU3r^#8smzvQy`R(_U5ccU?mSuT61C|5{u6nksJB<{^PCI~rv{taF@l=^8N=l2 z(Q%`8G*o_Qy^>v`_|msUOjK2f15Ueq23XlU<|GYJ~2#@j0QUj6)?fJSwP{W0rUJ;t-t*2jCWwtg#$lC9iXI$Lwl*t;pDpAz{ok7?oI(OoR6b zL}D32tnPnU=&}BEUWYF}&ABSnVTpxvwt}sCQ>u)3ZAi6C17GQWuC9_YZ%L|-EeU)d$oHFa%&gz;&Ffu8UW^@=Q2`*ICAv*O}9TLX^_ z=yM7NNV6l&2c4!sqyUNroVy7Y$Qs*>_s zkFoFh8IP=lwxxGo8AziR-I{WrPv|;)O2dh}%QZUTY^+m!>os$6kVc6C>`1tM(U+Aj z4)tzl{Bihhu)_FXLQx1qWh&-KyWGc2N%Ftt^F#tF%9rFl^ASz>I{> zioC$CFaCUU`jb@we7MhYTXAuKzg7>(oNlZi?$4;ps1IN?;Q23%5{3iX?&-o=xZTsG_wIN`5UNrf-J3gUsr$*4M0_4d-4eDc;?p z3}^Ci=vvVt{-Z4b=7)A)8y=rgwxS_T%XDzUCrT=ag7_aX(_NhiPKvB^b*Sz6pYtm| z@8u`L-PpXZsf7CG1}|7tV*m3&hc%x;5#S{jiotNoK<6}a_oCTNp^Z9QHL!RU!a&Vr`rI`akA{B^X5Zoy>wQJ&K^B_Djx<(TkYy=^E4iMi#O3{? z1w4aQ##(d$kh!KJ`-7%Ki|r7(ZF|Nj?7UjF`CecToT(+l9(WI*`H|Fj+E;S=FQB-O zkbxau+g=GhYlHhh-^)ajKK|-d?N-?#qWl|b(;FT*P_ z+rQiPj~Ct>O}q+jeAyO-p^O*+0AQ#Z2V!1Amqj>cHmq2duzR>&&c)%Iui(^>Db zn;=TMaGlK{MG(icHKw@fYn#6mBA9hN*Xe!k+x`A+cx9;aSojk*R}GH(7Lv-^#baUx z!t#yBC8TLGi^vsdVTapHAg#MXRTnZzm8Y3l?JZeCY#4bIjYvttZ zo^$tshnXffv}nmHkf(YnKHB&7R-f&zbQ9T=5 zr;cQV*0CedKY!afwC`zedj)#I!-ddO>eT5CmvvwCrOw~eebaquz@rcQ)Q+x^-TjQv z(IZ#kCOmQ?ltTi}Ab-&Prccq1oWfX619fe>CC^jtou;jM9av zA)Opce^x&1#d;KL(k#R#kxfAy_MC{0$VXQ(y^*VCLQS81)Qs=`Y@cHLGk0KFwJTP` z@!L`K_qh35%SCN?77=l-DCDfHL9I!x6)twmQDb;z#(G93v+l|kwrHfYbuQFa|@B08T4!r1gMji>04RdHC!(zMx$w@~5=)Os7e7LQ-s zyA2o)H62-P!Mo?JkbJbr58MAUj>sr=gv~H`fA1Ps2<;~ zO|A{?-*6su-qccf!eum(Ub9x!7}pyam~XfFxU6!5KiyTW-&d|gFi0($>4N!j`QV2C zj&BMu)>HFp%CXQr<~Ki_iv6D^wIc+{f1_|i=ge5kT^S+Ple0CTz2A@in&$hJ1rK$T{oMCY*Nb0{@gz&DX9ONp@GyqE%Z)7T`}Uq5kGeI*-mrqU@j6TmpZYKK zqHK(q%i1s?blGa)QA$ptk920YGuL$Sdew%Sa7$g^nz~ycd12~9*Cus*qPV4h$9<$r zB6;3u^KcSmHM7hNO>VV-J@^c}V$)~Vh$^4wRAY?Al0p66QUikj%nEpUy+n!!HMB<5 z4^IqP0Y7I+LzSJCv@&Sra-QS+xks@u>)0E8Q9mC=oeU30wmd%P+ntVzOb%}Ss4_ZG zV4PK%B9xOW(g@q+U;TP6H_~-^<6v`<;cSNfv|4QZ@Q*k=-|6v`QCZA%1^iS_z7}=# zn}8{7rt|2^xZUV9=-g&GuY#LwoENlYa_v9!4c2lN&X9}IigC-gsgg#r3kgiTIMn_Z zFtYoAZ+yNsuu2t`wXP}__f&4o8Du9%N$T&5$Qog2ZSg|>jSpN2TzL~_a-*eqsoAo- zEppLUVtS9TaY`^C1E6i($Sj3{nDn==R`5?$6+clptnGV`iBGjpdQphxj-!s2;fN<$ zK-qnvq2oXA^Bn*D{dtcRpT_xNu;Jy-`DgOj(6LvS-oA-b-O1MH(Scj2Kfjk;C&q>* z$fY#>3ZxpAn~?}VSL6|Bilq)x8iX{-%CuQ!q2MeW2jk{Nzp z(g8nU8~A$m@0gvROP-rcHD&ZfClBHPdJ_C1 z)-96z3$?554EOYo`F1ODJ z^{xI}&D?ktc<(Yp=~r0^z9LDoIKXs5PzH8b&b+@ zRk--)$jPJajVaKOJw>RNYIR~boj-egYvA+T=GdJ&e~7s-Q}efYz8x8G$L3))mx0D8 z5FeppsCW1N$I}joe@$(XdQVJC5q458g6g5#cW@4ARBDWOpi?(lOZNXZ!xgr3cK4M|jG=Ml<7@_gxM&rVJ zCB^mDA13GoomI$zZz-~?EVCh+eR_uAE6--!^YM!gB=9A)PR+&uY?~+3@#2$ixDoM? zq-5tpqQE-P+2O8iYJHtT7jHlmxfMRGOzhb<<^5S7{k3nXwr_q!(*!Llf3^;M{x<4; zq#WvYspHCf>84hVkr=8Qj(V;}G4N5^&I!I$pHb@jFt6%gz^#S{Tc?(VlR}-{f#{`> zg^8%|=YoN&?zrxJ{~49-bgTQ(S~2roS3kyd7H7Pg5F~a1`Lzu-a_a(CH8Y%C zvr&P6WkIFvy_%TlO8Bp^<2SHv@e}WC%wF74`+nckK`q~bxWCD5Px5k?vHW~aTHZhP z_f-fy89%~znxy>C;=0lf$Zz!|+eZ7E6jbh#G(*&`*YQX=dgM7y{s+~Hi1#h0#i5BKVdwl;Eh!`MUbdeGKN#-H^il)7 z;ffNNDOGe(c)-UO{)?62q|U`c*IGY6-wkgk)L^XorES{8kh3}V9uBO-)uL)as7se2 z!GY>6HGap-zV$0-ixx4Z#c(6SFOd>8eBMWCn5umh4Vslgc!I6mER4&=$T?}^5j44R z1(q{g8mLW%q#k+K1@h_E{6VV6IdN`l;@Lt;FFRVyf>7 zJWhiYzVEMBCrt-AQTiy~;X$yXzDviNvounzW$a^f82^0MWQU;A`!KR72d+2(_s zt>{w6au-eow`31E@3Ig`k(-?|4#KAn8Z!=?+mVr|AXxhYOvqbs@1^ zWm(!#A}HslKsGjevnSWJ?${;lNNp{YV#>v-9@xoTh z&RUF`=ibL$Ba_FBM^r7wxYNETo%BU#->+&MJ+td}W9)-J3W$amdn?0NA@eb7B{0Z=S*F`o~7ZI)!p4n&3ZXYyWFLJ zexCl8mBXyUJ!~b0E5yP)@861ZYj%n4yfw_-^m7;#vAPrza2T{QJ=r;~0#~z-EL;pN zuTIrU(b7MemH%k-C=NeK)NO;cQPQ zsGEhUq)D33)6=?;uy|jgS8PynsPMYy3IZiFdGe6B16^poluA&tJB{{KwNf7rvx#q= z`|{71FITMekKP)#14bUu5amU!ny=inBdzgpu`ThF5>MZe&^>u-TMYlH=FbWF9clo$ z#je7~ve~Gd*C#31lqI#Y%0$>HPioc!A~oT;XRrbs@7xi{CD@WEp=OIaan%*#suq8I4R&wAtM# zE~PCMIX>9B`_|^LdnSetY57h{jU}6-f~I@5sz#O;FoGhL8Fj1~=}|iocXc>yUo!wI zX|jE5urt^ob8y1oeQ_;jCy^Ytk>Zub7Fx_uU^p?$TW3EIT~;pLIO| zx}K=c+p0I6dY;}|M>vf!2J)OccsoN>Wy=cpCcirz?ggFm^N=ND+jb%}f8NKdcHJh& zgTNQG5@`1L|M^bZCkDf|W|>&!Ynf~C5MNT=5YA;7zVYVAVbj(eu8r5Q+X$<2yWZ1I zYbR62KuNwfs_2WHd3;@PV%M3v;N+%jb;Cr5QJtc)!tdpgbW>b;QCyK8r|}n`lcB}* zrNAP4xygV)Gw#;o^uR+MYp~-JS0Y-uycj`a8GH^o3WYeglKoGyX0^HmUL#x?o*hhDQj=bOVCE&0tUU z6)=Zxtq7q4OOvjPs(gsqB!s7;0PFxp+DPj&U9r)>2`M>9I7t(C zc!_!l&PjGOPP7$4iCtp;{5s810wokLb-zGSh&E>ek?MWA3*&L8iQ$rB+sxmvKEv&kM1VNJC^Hh(Gml#%C1|_k*J3E)bk7;AN7suo#4^ur zZcK=s(w*q<((!*bsoQOq>62lR=WHXYfD8BU)u|PMC&}wK(Kj(C4a%=;C|icc75@J% zi38Er!qL{Xf+Y1#IXF=q-dTDLIQxia91lbsa}wTF!akyM`=MrL-nJ8nR4+_VDTud1 z>YD9fwv|Mp0n6fB1^6_fAh24qPAe_+UMOVem*vWnC$C;^KY{f<^&u`(V;3{ty2P`o z4mVVfg`R#JJO?~>{WKegY7^W^s~FKf5kR*#K#V)qf;PV{OrUcLiK8>6o+NCTe8V^2 zrP96i+R^a%i>IM*wj#Kkx#|CHA38?%p$QV+vtZ+N7m<9?bv>+De!?g|W#Xq$n%=qh-{otYl)`mjE~3w(GM zXPZx%TYp?R^~z3@$m7&?LnF=qwHun0Gg4i7KN zhNcdsSY%CWOg#W!*;7<&`=z`Y08y$LkLcX}RGlG@%j-`HgMLI-tA@B{tDA(pCZqp@4$R4W zv85mIv2PduIoQ^28eMU!2wlgR3(%6R`;F<;#_1x(N+hKeN-=)l_^NGfiRaI6%9A0k z?-X@=sfeLtCB+urO3dH1bu)pVq6D`OajY*mE60c4<6Ye!_Wsan-RjEds~k*y4Jc{& zL)41p3Z!|v?=?;|G1mA7SAef>sZ7LDzFI@8qf_boK>85-Xl>-*|@cg?$0xGT_pk$QL2$j@8&O^{eZt?^pLJ-`gEG-=?-? zY*Mj9OXaN~y^vRLij@?66WAqNZ1r5z1n%^LAbWwCvG{Ac(e>0bH`US%0{ZcqPqC3D zoHNL^x27)+l67&VgUv!5$wmF@XNBGdFRTM7vnxQfdeu=@!=lV80 zcibevxD;1Av-xV=esd1D{8abPChA{+*~+=faA;qb+2DzcLrGgpdEGOAA@5&f3ddH; zJFUAzpIe~*3>+^1bU}7xX|&rsT;{zZ*`=epfHc0_h9m6T%r&#_O=L81_Ev>()uVI) zHUKaqJGTz4drZ^v(F7H!ms*}+crT~4E~o?;{r^$*mSItK-~TWwD1s;;p>*c}(v5UC zGr&+P4MRCYNGk$T0}L@pN)0e{!yqBu-Klh=w4mbucz=J-i)X(%To>m$v-j$?_FkVo z0orpt-giL2M(<46o-)ho&c@pXDtH!txnJV zw;LoH5i`5tOBj2Gy_$*~4mP=FZL#)ooy7>@^tnno>`7om) z^F!(RR~bL!O#!Ku?GumbWJvyt?*ZR~jV6AZG^|sx$Aoli)$7X}=?S<=#|d9Q>Pty6 zsCK)wGMJ%~dhi?)C$@QZWmG$R`r`G*cICB{OvX*jMU%GK$>4PN=XojF{cW51<`y9e z1)$4RL7xIR1_~y?0|RZNq?CBpb?c!7z+V)~bSw{Ph(d^%xZVP7q(o&vSJ}=q@cu=-_Fv^i9DV$@&7Xp~w=sla*0N3u1=U zPYgsl@syg-+It12iCRu-LDAODhEN9{aW%QVckJF-R?P+7FvBA?%lph`#;@HoXY_Vg zU~S0G1!t#ivn>CwzJIa|$6KDQMgi#p4N=*BFE~GqKi&0uU@U`%e*T)4;y5H>0z;Gj zWFd-~h}qEZ-lyw_g=9Lz!%Y`jY45e@+2N(V8af4-Ab~m-?C-j&iQPrri>jS)GPu7 z{`TzGQT)wDML#T6FT8i&FbYGOPKh}F1z zSYEJa-JPu|xJ68XCr>~c*o4kqt9xB?;Uef%9{NXc@E!8@?e%@z?@Xaw@16&@U#k`p zFlNtemvbFR94fb{j<>N|r=_5dd@a}V&8Vy3dtOxV!P${iPq#H*rh+dSGwQOf%Q&>*lrPc1D^hqM#dY zBFBOn&jXeEeIXW{ zmXyJLh(5JBtNEK)^bvlAF+XhP8JaSrw#3vcD{g6QD*af_e@BlhMwDtBTV>cASD#`u zY`)9qD|;<_)nht8bkG#z7UvSM(wWgy1=_tzp=zc9azV))owPq3B%Mm$<-rQWUPI@p zV@{dx&IHiIudQ&dK<@J%#VbG{TRje2V2_PQ!1q6FmA;lP}S15LU-3o2YGHbxT>7# z2B|V1%=T{UHZhrX(fh6P6U*Nuzw^c04$NgJ7#j_uKUL1HN;qXt;5`fHnY1= z4VvUo!+3b`I%|iS_}%ri2d?RJG&7blZkPb1wsH?(a`Au+i_!k6T|IO9_{ECeo{<^A zCJW$zvRg3G*!fa9zl=~_4B6=Y zjjC}KUjj%qU!)eAu5qDA5Kn901RXoodksXW5JxG_Dv+OEsvmmWSC;nYF1`8qNA9uh zeTLU!oz0nfxGC}cNH?wB^=RD_8$=)fG26JF=w^UGt5WpVQd`-TE=1}9!+YOeAT=)# ztqW+IIp;z=kzMgxG^tw`8^heKuhRLot@{RksAErDw@=B|z@AhB``*OgU#}o;!M2@Fc z^)spi79USC$~(E5*T!5bL(fsSib~-q=Ifs57J)h=;@ z5Zi(IFfS`j6x%I{`Ahs-It?jD`Z!BUF(0?4bf1^zq^~833EH+9PID!n&y-S5407Lo z9M3ImqX>>+_?b_`c2${1K4b1}JmfaX(4EzW==&so;CB4;TsF2LL4l#05t-{R5~Q>< zaVBI^S!p7GTk20B9}&+z42a5YSJ1G_1UQ9~f!`Tdq^=k`jJ$6) zO^T;R(bL!UlA=d*QHXUc8lK~XfqSwr45+9PMul8h_}HYg!a6}eY2GXhdjLlN{6 z`g@Pv>17>Cj`wl1Wf_-BlPs!z2^{^8!F7ZqoJ|{>Co^YH4T1KCLvQ*x+OK?XL|!dH z)b{0cI?iMckhk0QDe(+$8JllD1yx!%64!#y3w>#3i>FVOW%*h?7{XU>x$NMkm|^o1 zHOXLM44FJ2CwK&(^$dgxLo{q_H2sWRIV`$!rcORtHj^g#Ur)JZ zZsH6u9hOrE)VKePB=T6~F4Eg^I7;-@<$e&Xa3eb?9hmeHeI?dtxuOdjUcjb$cRO7p zP^O1;5lk!(l?iLkPOdx+?t>K|W-KhVp9@i#*^JS5i(N?PM=%2uVbuarjXNpIHgmup ze=#G<_T1^}xACkPem8Ufm1ln4uFk{i z>Rte!Vj4EE5v`4CSW7Q!EZC2YIPCffubaRPv%{Gm((q)j<`#=m0{zk=`p)X_X_;-c zE5mGSlOc>&{X9AZ&`?^;5F~=+olkk z)#)%Gg>uy@Ud#X{bqWHyKSgOUJ=(=+SvL2xYR*gCWaw~d8{Qm zgXi_$OiO4KS45HWMH3l?F;Tq;81MDMirMEOX!UAOI9NBiIu8>NUuu?+zS*<~OLtAq zE9Q!BZgRwgOIEO|mRXrO-HkPMF4xV_EY^G<;VeToKvadZC}ZxlA}kiH4s|Xfnn|c< z(=Ze_8mAyNtalp@)UHviGqJ=QW#^&HnlfZVLSn6%{?+JiO&~J)oqJifHoGfy%iWF* zw=Ex;Y>B1J+J6zv%9^D~%lw@MA2^(iu=QitC8_r*Kb@L7({<14h_#{?X9IHsw7fL} z%dro)dlMD~z&X9e1Hg?{62VhvB1kvn);%D0 z{c4SxpC&i=4hpXjURoC_d1inQ)V4JP7pM*zBQkw)WCS$v8wyUZ>t zl}qSCNmhgsnD9i>!PS(jb~1bD%az_RW&T{YtHwA$6S&Jmt2b$h`4vjT!Dd(WV6b<7 zoZ>B;qG<-z7Xc2B9Vw1*S5-~&&Y?WAT^g?jp_6Q?(asYkGtL$T>tzJasVpZraAlo;I4~ zV?G^`M;cXPSJAxdb7ktcatZ@cP|pP%#0P`hCKjy|UQeTQ)=Db>&W}F@P?gMrDf&Ta zip0OV6$OwYO%Lp-))y4ikOXS)nTnJ_M@aB1Y$kxblJ~h(h|fZWtOlDt(H6gJN+TIC?FNa}Vn<6J z1T)Y5m{y2Vluff=-#t(kk-nli#d18BqmNn47?|DBtpDyX|BU0Lh@C5xD~#uHkGUte z&1;~;S^YhwzExtz0_)6|`4tmsJ$`dz?2`6J(c|4fqrpE4qEkUqy>5~ti2l})&C#a_ zOCes1dMcHu*ZmLk$7>moKuMt!z(DjE^LSf41_s|}O-kTq3iCJ4Gr7BwytNG>Q_b(H zYT3oxGzRc4`_@F!ro|~qx%D5F%N=>LUj z4o{2P^2vmwt&WyKgAtz((LjRuQV|6qupbWKKEBoQk(;;I#^Sykchl0Kw@a)Ct-N-E zJQaB~UDw>vvYZ1gO5&KlmK5<%qt_;&mk3#JEkXC=Ku{=MuY1S(##uO`uTV*CI%Df1 z;K=QDUY!H?m|m;#s^O*Z!-O&;V{XM{qDk;O=W<#1aTD3>f3gLij@LOhj*j_++R#(4MQ0Patm&@vP30b-ppT+BiPN`I@B#7N}N8 znoOKMWVuut-rhDC+;Op4nG9~I?{`@)tB6Hy?3Wj2o?4-{PW1P1Rs#+ZIy9oQ6MH8? zUcELVzlNfpaXM94C9RmnmiYC~hcp{5^i)mDI?qeHdbYmi#P0q6&NpW2Y_V;3=6~bv ze0CHdX2lrw{b=Dggffjul`-x2)VcnR)~otOMRSv;DPD~(^6 zT0LfZT(K;Wh|<0#>dR~;u^YE1Zjl2SUQk`@YEqQW9x!uzAl6CO)9#~Z!H53>9UuZ_ zO&~YTXD7vg3I2->|Lq?hQVrl~0#^Q3l|3!Al6Wb$Z$X#(arS6k{n8V(#60wqND7xynT5O3*f+P?=)6w)5%1p)J~n%;_YSCb zolgEdrxzrq-(nP8nVmXm@SAb=)fKNp_>lzW!JMb=_kIH$=n0)g3Rs}#!V4o9h zZ;b67{2&LR;&iXNMPQ!GKC)HwXDeDeX=%ubFFkd&zkBFqL-cqS_eaO#o-NnZxbf8( zHdmk}7wS%x7LG(!G;E*%mH?Y)HepeAQEpxWt<2-;WR);50mVH*A|A0+ds+ew>kP!# zoJ2;p)M>9;ptGi)CJx?(&ZMw(&3}Y~ypN~UH~CT}0@t7<)__bO+-2^1r3dJ&SmgzB*&Ps*<8FHsELSg66eu^QOR9n4$;&onLbM%7m&Xqwl0 zQvHJ2J3AU}zt6)Y@kcv?EMhr3@*^As53>JL4?KUyJL~aDD*qR&-!hQDWibyLz73Hl zP{BKMY~K?&LhO@tK_HBD_jvbzd)EwZcm{0!IHNDEogGxAIx3gTEFPZ_{&*BXyXn3y zG%RiUsH65||N4o)$hjn|yHfEir%~BJcQ39b1=m=S7glCvlE+aKR(DvAu1yxvam&q> zsR-nTNqM>sV+S34WLo+7d0W2u?$g+J56gf86Od^@Uw^6Am7a88+Qt-Kf$0Ywsd8!E znCa5x=6+}PCbT~Ouy?oipSL+^TZ>%Ke+#Y`B42byOVrCf8rkhTg8!=U{_ErXnCNOA$ZCZLVi7Gj*Qjx;bA zLfxkaxdMQJ>9Oy(CGT1Ypo^G25&OzT)_8>$w!8xGS92B_A^ByXY*#$NQ~1>{e{EV4hAfe(lN z#|?(w_v-=LfP>BbXRCt%r&szklcei%3d_-Dz`K^w;9+x&qVR`dS?_1Yo zoP5d_EDvz*tvrCq`Oa8wZ~A z=n_?GJ`+qN$c<0!F{VU7N!$WK>NGu7EXgfabsbuv=ff*qlZs7B*q+ZRMVchf!|I3E z%dUf;Xa1n@*M$`bg<9mRu)jr#vQiQdklx}qYEs_<#ga{p?}Ka><=<|qDN}eNoF_oG zM~K|@$Wznma!9&|naUKm+~VCg#%^>5tjJ!Ay+Ab|`{aRQz9*0R_>4*HRRPR>b}GyQI7+(4J7q1YE_w3-f3|zB zue_=}Ks8Z{Yj!4wZigcZ?`n_dU}?Lcr=j{QI6Ery+5dR*$mZR!X{PBO5O@PF+iP8B zr5@hv>UlajnJJJmxOil@G261{Dx;<}8+OX~@c5zb&63cp|9qy3cmB>^f*2$js^Q!y zEP#Eegy>}-eskPg;o4b$oj^d>8WWRA z=QlUA(I}Fa7v=m5Rhp2zim7R?CgFad-h^Ls?@sfEtyfdT-q(Z? z!8*OQnxsq5e%n~Xa)$SIvT0rz;ZeI6jU>KF{A^E0$1HrPs+Gb&;`QY*&#=EIa#z1Q zz>Pf&)L6lrrdjt=G=)k@Klf*CJbpgQ$R3tz9_o@Nj)e$dz-ZNnrtul?Hp(dE?`b?n zt3+ajS>s{u5`&gvNiQT6^_ZdduP6{WUfn*PeMfGu$&k8-v|un0HPJ;7zLWnSYc3@44NX+9AjidKrsbtlq#ugh-=rwG7e1xw z?3+T7O-%Ld4#7sx{9;@zr2`lW3bhC*rcfw@?gekVd52VLczLXSQFobJ-_uvsO^5gE zKz02^3m1vvw=aq90S&`*Dlr9vvTvpo^1jV?E-cEj#**}Ord|{RVu^d5runf^3jH$khC29Wf;*}XDVg^E zhdnB6(dyUddC;X(-aI$HqS|hk;wduYW>M$Q^mcD5C=<;M>(^^sC(GmWQQlHHl7vP% zZWx`%>vUr3j$3bUGXdGczabk-W}qe;n+(At7_JL`3iHUzE6QZJQ!-gA^C5ru=+h@} z=9U9`*8^QAjMbZlrz8z3ByK?xyIgi===GQ4RLv6wu93Kd zMbDQrGRUIk(>K#p;$gB&vZCQP_6z=v?2|lJpmnUz^ko*6>xiB&Ob9rUdMQ&_c-1SH z-Xv4d3iH`5$VDc0j74e(f3z>{ zV)GgK%sppT)MnvrNz=UXY_6ycs5NCZ#w#`77WtOKix}v}P8Lx?=fPW(Ag;+-nmZjG zYHXr>T6|PHT?Y0c6x0gN(FY<(tA}Yx9Jo+a(-KV3_bI4I^p-J;X`Y=}%RG!n$9Uej zleq+0dIE2HtUTs99ag{hAo|>f0L@Ymmdj$AC7fPpHh`7!BDPa5G(6N1p)&4D*cKVH zQ{e?yS>+=Sh($}MuW5t z;8MM$$diZFJOetk_R_Mr$94RSuuF8MPTZs#pIlSxEH2T`odG3u=bOk&&{LxqiuWzh zcbH2aVDa^|q(x3mdzNtH#j>%4w6Ay=K7HENb1}^nJHBP0qF^ZWLz+t{>WOPPSgImc zf6w=`pmdOQr6k94so=oI8Cil^M0Ui6aqL~T5QkMyU-*{V*zWv$gmQIqAS6ZX3`KyqUjSdeTj` zQ=8pj2Ij*;X2_X6i}=!9QXoQiz(Z*MQen;P_*gJu-)--V5+ug5u-#hDXA+0h zcWx*G*0|ZAVW+9=~C73($owK zI)AV6RD5pxxV62!i$Mh5X%UXmQeq}M+1B$XrbFH;PUzJ=vu6)%+C^%?GqYsAYK-VI z?G?|;xyUEc%P3641HJr`<|lO=H54I@wVRwzzJ>P$xfy2}*P)p+5zdBn_~lrm)Ux7X zbWgRih*Y^d`KYR%*dF_izLyA`kT9AeWYw(d6M8-c+x#|Bllg(|bYxNts;;lAZN+P=Xvih=+XHiyZ*P#7s2j#hcP>#l(6R?^`S8Pi9xV!-PXX5!x1!%9$FPDlovCb_qT}k>DTX}k=;Rq|X0J%9r|S{p7GTlEtdmI= zm1J0sOYYhbxvpKo>XVUar;kpx!vc2^hn>1r8C{FocY97fI$awlX>>}S#m~Jmq#c@w zd{Z6uLNU+23~MO)YALf?gVJy>b@PG}%F3l8pGEQ*epWf(KZTYwn-#&aOGh9pQHH#g zrDQF2Eo>l5fxqXzNWXkMw$qso-Tm2-~ku2A}@>w?kL z>mbD|8>v_)&b^->W-AVVa)kLqx0eNLXYVjoYb6g}A|*2aNW4afWSUM#3k~y0yAGF+ z7lmuwti3n(v3axUhYB3qG2I{waa)4g4UpfLRkLqu5AXF<@l-PO4pSOmcN2_h zIAUg!F|P^Lk89c~9L2fo_c>sLu5a1Bzye7bdbIYu;;LOZ!(EY4fhJ)c4t`%>q6?-F z(fsyTuwAGjD@9g*y3W$nEQ7JM`_rnxy7|VGv5QNPSGTi?q3_ z+%WRVTt)>`m1b8tdZxzNZQB_@Gra)1sna4%Y(DZ3kgKknjj&8Il0>{Kcf1rG=ZpE} ztwWDVVMjAzOCid2R;D~c-7!liorL|j-nXM!DjP7!9~=HW94%G!uy<+odjnGjFM>ru zOBP64&>-z5ZuT{rqs3THV4rL0MqcufA+|4t;9z(T5^GRAo1Ozo0x7Of@*t8{Iwm26My3b8X8j##E$n4Q$ktJ+9 zonTSuBr@WbZAYWc)jDOsb~R4x6dJz%y3?t#3ntF5r1+VWr#CQ+WddTo9%WZ&>e5c( z#9IeeC{W!DrzeB)La`8s-_wi$(`dT^*w|e-N$IH;UsQw9KUSb<5Hi;%5WWP zef!|!Fw))*wmgw*mkFFy02v-c4_AE7_7FvVHAv)|J*goh2*n;9*97-owzk zQMY9-`Otl8LPqwce-PTyA1v-$6D;YnciqONy+3E(?)he>Lvo@kAxE(loBqzhu(sZ= zdu%saBl(k+BoSuY$u^)O;ddjhymc<5i*g_OlP~sdyAk|Ba+#8#^|^I_*0AY8_C7Co zuw7&JKFm~IYs;E?-cpO#Ov6?sP_SB6iLR_@Lxr+0A2{LKn6$wbYog*=P0CjynB=1J zlsA8(WU1ZYh!*6L<`gmcDivl%IvejfCRC$v zvx!9gUU%X|l`)xqTAhQ`6v+4+noLI-ElF}eC&_d(0><#3W<&lK&4rOoGDdajgBTMB z>VOv(9G*6^H!I$JeSk=-5Bm9go*RN;sC2y<`ckO`b7p)jRN&^zF^{ zh#$H}2EmG8&@q!;5%OpqJcHbPtl7X|`rRS!6hE}9XX90Jo@z4pC933B9wwFln10tA zdtnZy~n;}?f z&U7k>c6>e0_F7+?p3%rCx$G6a5*p^2O4#PsM^7&Li$;TvbuQ9LYIIpudE81Km19CU zW7WdmlnIqcsfN^Pu$9j>B@|zu;ZLjXs zspCAL!gQ%PfWFHvX_c=blP_eNB9mr5icY`waVMf7!y_xn~Sq4o%CmeGW#WW z-v!{g4pnorBg%5hU4*#DN_8kEn7HAo4i0(SewKm@gUOiL%v7HK(tb>uO`umS!(Tjx z7BD1z)G@|l(ZH;tv?pP7w2(3GtDW6&gO9N`Lvfb7##md@Oqn^s3;b#YLIsU;O;fTuE967p3mSyd-9;tEPO!&?C`IEIX?MxC9$ zFWyTWwzIFo`;A!*gPiY_=^EQ)$2}3_-DXE;hZe21IS=8yX!(6#YwC=@PWU4cv4N#@ zsuA40+~&?UdTm{^QB1ne?jSelOfALY@I|HLJqh8yOn^IDGa4?`?9E_c`E1DR=R^%i zMISdl&og6Z=?dY5kr(qCmx~!k6m1w-sy_^k9mXP9c7*cy%xYH&JjW#3=)8qtJOwov z5j_aRu}8hV%sAGWNyM2KlAHZDR2gfTRb{sq)_^Py<@wM zX!?UNa`lA;RK!yite}%+QWai~fxJ9E@uLSS^2w9oF2zra#wNtx7E|=xdP1>51eK?u z=n3U*x5#;vB(Z1C+|zeA=B3wwB2Bz9C4oooOZGR4On2}CC`O?0`Yex&tBIQDVfrulxZrvsFc4HeWAnWB4&?|n4>Jk`*xR!tnwD#6T-f?u}lST zf%G(6R?+dc!R{HQ|EBy_*dPaF7+&)tgWyB? z9jSPaeM~ORQ2YlA_V_8(H!Pw3bpG8y(iulE$r_>J7TYbF+e{?4LvN8X;kmSrwBqI8 z@cnp1OSH=+nFWw@!U1i-JO(n?pCu~)JH*NckBwZGdh)+1`d%$>AM42Z_DCcAn zRM{!)ly662&}M{?QF-jD-UQFDp0D9xmqpIb=c=q%hNG$0ip;|XuRJS`Z|sx}rjEHQi_GlPV-+}JbOQvH9?yikiIb|a zTnYTeoA{%4LHb*qa(zpg|B}R+X;U>15%0>vHKkg3{{4U#MUeF0mqDh$qpif+F@GsI zs-{`m_(ZnMURd&|kbV{Rm?w%Q2Q}MSFqM{AT?(Do(%l}l*m;F1P;(~Dt_X!RgyiS)?ZdTI&h_14ab*a`m6BfVsO*8rV7thr!iciMb1xKtM zzLuR(^`^u?+r@8eNUh;7ULN9{9Js5b;@SO%0#6qUI&xe1^&cq%BH|R`}IfIGcJ|n&>KH|DlD7z#pXWwHWYOUgMn}BuuB4 ztoXeojo#1iJG=&ZkDgXVixh^ zSi&XRN-^Drn}aF*7LB`P1pY}!ywLdpwU+`cC8n3FbEM}>BtTqXl3WW+pj4kzT8noot<*yX}7uO3f zdjF^i?VDb9flgVBz;e4$9usZ7!G?R1WgfN1>4wbb`b)}W!&X#^9lS9^3oriSg&~-2 zE3Zmzw+TDV^j15He=h38&(uZ!fxwB@{x{k3%4#A^k}6XVPC4v84U(p{JjmbwADJT~ zBZqMCn~p0Us8G6>O}hU3f^V1Rk7s_6ZAaUE3@(riL4 zMA^~2M5W-MOrE>-Eu+hcmJ)KztC~twEZOj6lHw-wpP+PgHB?zIS){0B7mlbiMV4h+ z*q9xgRwjS!KC0ILd^qqwi->_OB;FjJu!+P!wh`mFU=({#gyN5LV>KscDnj z(us^P-kSZCt{6+Jjqm)Bw!I|f+{LsZ0Wd79@Ea}Ws3%0zJWQTt(KGwE2tIX)LM}p6;%+$J`hqNgb9Lwq$E-feVJOHG1aaM#xggK%xlpOt6hv z*ZTGQL+JeXl5v70fcQd`>lj8^yX?WOd0x z=8LBMdnPN}1O)aTMN0W54wbyJqdPa;9Eu5hv#SEf3Rk)$`ZZL;FGc5K_k=(8*k74C>akD=sb|r27Q{EmY5pqNh12h>@~m3K+LG(>{ta}3|Iz-2F5zkg z&9RlmlDH{L?#G-cD#@(eEma-W$Jkspxi@ zWWp1)XHldtHCUX^Hp)-gBhG-$fX-qGI9+Gj{XoyaCskr-*{P{h3=4=>^!I;cZu|M4 zQ~=~=`&rxd7jHKBpNU_6aq&!GY&D4b-vl=QoLwX%A?*)npfczSi~UDQ=Mt(!MWKS2 zYU(hP;X~7^;=oHf6v3Nfu43Mpu=pi<(GRWbbf1?G603s5sA^;N%oBGzSS)-QtfXpq0yu|l4bn#B^|&SWbFN25 zrhDN}WgH7UxLa>L(?Ls$zw=nYRU9TY894fjnem>Fcm>suhNm}B9{LBa#=|s))nBdq z3MNVN#iqJ9v;1OW7Hp%S6zvbRxcAAvvuZB_PA1akF)+vh8uR@D9D-rtVeMbM%F9yo zg(<2jGI;dYev7IvDcuCfVi1>WV@*6RA=na_9C|ak8&x!g=$Rypm^y_NPG3xGPPZ0Y zKqx!&>A68`5a{H{rjK#ilz9o$Ms>MRO_lM8AHvzfv8%iKLTg_4lLk?2{BPLoF}JpO znfQ`8E}VM0XUB@*ekvl!>jwT8U$MVjrGE#X^KDMG^)@stBgXG4 z@7}F?l4xSo$)}zE%*pRPY!WifhAAz|tgXG)v4l9!>^aVhi)Dw`bZN;P8|4eLmG$+t zwH8ZWP^r8|cGswOv-V6@l^je5tPB(t^CZihivn9c8xs-<5OIjg)|3V1AM?Sm7D1m` zcry9a_ZJqwGx0L%kDuo+S7LG$^XeHRmxE^vKf0T}$jlsm+V0m7;^m|23xaT#CWxSF zznf`5a=ToC6^&O*Wh{bMUxRHcQ~)*Az$aC}SL{raOC9wIOEP5$b*-)zb}=SuH{+qY z6xjZs&3>^|{LA(E!SgcfCDG@{{fmdib0)kI3+YZpYZc)IsL7v!ZYj!HPE2D@_ROwC zW`j01{+t9Fi`elIKSzp^%g?qtF*}P_9gV49N1!UH_c!tB;#e8cqA9FYHe3_-$dh@trK2?pU=OzTxJVW__reIQ= z3}4R=&~Y+lk64;jI@ahP4m9~^yv; zWDsUuBR=FxGy)Mpd{I(%0i@Gn=>`e+c};ho>%%C{lVi=yJ~IEojcbT_r3O+x?=I?p zxfGZ&*p+9CygQZ43!xjwch9ttf<2Y&5G8e85zBC9HCitI6(XhOBUb4*a6vQ)i+UfD7$B#GfJ;9B7Cc)~xy?ct8;^{bs2b?`?6k&88uGmeK2PW~putTJ!Z&*=9`(|j{Dw)( zl>E^#KcFtYT8g$;b0aj{7*62$%IapGA8#d*;641n0Hl7#o|Q|uXk=mtnH{lCcf9Au+d)#{|58d}_B%}>AqkR2yTdhycMSKAL{Q06E4unE6y?nhQ zU=K|6eNR?+MHS%XA_}s;zqog?^)Kv01^dbrr)Ww2=7)naBr`?=_*t^EEMNR~zo-kY zv}#?^WR1+zh%A~5>0}ekhv_G@uy}jLxiI#ZOu;sw`^V!&d*;HmvX5z&g>_xdAcngY z;Z9EG5K39$mk!C`05s)@M+}*p*gXkbSLDM9|$> z8fG^tUJ1Z|sYmPZ(#1I!*8Gc)PS(P?pt6fe?ma=|zfFYxx#}&I!C#SExmrpceJ>~R zDMRw&42E!?l2no@hI`KYfI#&V7bXW|O9G?LsfVq*n=e^ySiN*)DAfvyG&P-7it-Av z{s}uXqRo6;CXbRyA&6)e5;YmuXGmqepzh`d4wQ^v3s}`+5frg-XuT1OSU%)@)Jp`} zwpxPaT(R$J{207^e3t(UJ0Q2~tKCL8LZmbE94Wmd@xDcB{L<*$ab<<^U0zdmmgcBz zx!73(6V~1SpEvmzh%_I(FkwXvhNVOs4=nsFP4>Wo#!F3B5v+ibJUfw2keuO~IlG{A zL86q+e^l9!FM+JXxvZ@*8P2nRT7OGYt$OjdO-;)U`yKy_YRX<)N!d)TPmEXf9VZ>Q zpSf-}Rwz^MSrrBUXl3Ff)Vg~wu0PY{z)TUOmbp;akUh&_2sS3k@ zyJBNu3A~ACKB2r&Kfq|zbnYpEp%#ttmx^J`x}yB(Kg zT|L2yE9OyW3bvqP(f4^>*36t&g2=5hE$7jZwiN{lwOM^_?ArIF!e4g3ibFmeac~D| zj$8%=@3(76=N-8Fe<1V8(V0of_0$bve3yH!Ad~!+v5M7D)kw3!3JCn#+N`_7=(J1f z%NU20q4xwE)loQ9%jY%@jQ-9B%9Ytm!5Utyx$%@IyC0Wd%vQnb_c?4Z^nF=A!o5651V%&xQ%r~DUbc6(f* z2v8%>8o%n#QL5IJ>Fq8dN|J?^O+Ii~bO#Oi)ecW_rTzeOKl zGy2UN7knGYwEp|)8?CEyi#B2^%G@eGKG`sv7)Z$!f|Ae-C0i}nXFWc307iXwvyPfs znK5qaf|H(|{tJx%)k50P9}bQz+FD9ZbA3#MwvjE1PjaH3ph1OlG-36zcEBs2#v3at zuMRA~lSPadZIguI-{dxR^!a7H8g=XRMa6A3#wc`n`dm?xPJL}qTn)~hNOgvvGAT}u<0-8%Brdlv#$QxZ%&0rUskv`$`4M=k%K90Dv(%k zny3*gtMGpVP#nOGyFfKqVEs-g4en`d{ice)J`B>Mu8_V=SFK?#?45O{Y~4ae?*(p2 zoRUXJFa6(|@?NX~))IwE1yazTOMrJQT&ysaLx`o9iPKn8UjsZ=GT0i@@2W;yQA_#* zMDUDwzXiG^oT+tj_vlOey7L0r?NR+yQrkD*B2VE$O=AezypS*nfVPcb7*KtjauMv9*CgX$a44|xCfj?{anvex6aKCl+;rL zi84^B+nIS;ADGU&juZZRUU0MkzTu1Zb+f=BSpU%}E$y08GZ<~m6V?69h^)*|8W4v6 zXd$qn*p_zOU*O800SW_(ldTT2q@E3A#Xw3ak=)lKnsq)D4XhtZ3Z>MBsH!1orL;&| z1#7`utGSHHJ0U;*;$8E0o=e~4{>9TJ*tYswBKQ}NFzBMNAVXt@Vee+%?|Iw%4_CRi6f4E8g_h!a&_F1GkOY@g+}$O72Q9%RP$W~|UEN&tjecqy!?T|e4feyA8 z{n_y*|C^rH>Il~!`Qt#7n8bJqy8AZ0!D#5P*xkPFC!bWo2xV(5S^5bb^iHZFdAs+$ zv99(LNv*AThrcb~He1#w5PEpka?zB^2l?)REaJ}{4{Y(}E!i*HxGTrcKfE`O%-wZp z^x8?-WbpQN3Tr%-^ffpK%`U2tF!o@!EY!nqkZhV>{8j7PSHNXGdH?=N+Kn%=65IAb ziYTpnJdeEp_um{+kFCGNCIY^xlCWdYQQ_)7SDov)H4_IUhD=W$a_U6pi>CWWYFq`( zUrXl4JS0!MKdSu}?v+MI`azW>*YRfNhxSCjMQ5ECz0HS>G1WxF#9&=fZx4Z91FpvS zBq!26u8&nU^0F$5xE1X-H?s$yRhDv>AJXm47MpKWl~(1y59!oAL7O)CT3!@v8c#iI zo@J3Ku`(T`RV1@W*in$BGz$e5MGLe&*Xv@^dgFWnNyyr%Gjg?W0=q6A0gFYZ#U~bk zJ4&DN2)rN4duTePaol2@eq1~mPfW{T5&6fAfa?K)1X<#08`dV(mN}?OJje~qIT}QB zKq9;f8+nF5mm^LWzPg)8Ym%+FTQ$B7h>eRq7`dRp#IflW;1KjsE4t-mi>j&p{PPkR zzf(Fm&hSszFh-J>?M9?k?Snh;EO`Ib?St2)!lhLQUd^ew{`yn6AeS9mqrr*z&CheJ z<03-kfJ|noxe9Bc58L-Y%VtLXyV#`$4AsucchTE|AT=Va!fll!_K5x!5M3X_%|&<* zh1-_Ps^OasL9wwh84Q%IRfZ?l!p!tPT%}6^;Ooj)slZc1TJ1W+XjHr~OFb6+;6nE} zF6@UsS_ZWX6spvxsCttU#{g|iEMpa5@Qf@R`^Yz5AbU910#YAOAaY>_>6Ut)hko^* z^U>D@SxmJsc&PnUmo9LE20a+*KcfkK$8IsNc6A0E*Dj`d9eV#6#-6?(FTqsbXfMB0 zUZs6%I@?xW)84S>c3qL=?F%92M`>qWMNpct#XndcMb5RMax~LLL|(rZ5i;*b(k@WO zsQ>{iD!)8Ku7=9*_eMuQy!4yc_-+3(7y&hW1hTEsU-GrgPfr#q%M&K|X}66X@``|Tm>JSWcKah2uj4umbmku`0X6HE9=wmlD2TvgJJJyu(l&v~@9Z zB%2o9_Uo1w8KRQZdr7#kYxylLLor#|gqN8R8?c;ZOT(#!XRs#doyF4w0wI_f^Ev3Z zk?gGV1SUMm1HGWOa+!AGV)`gHwmDUI7y3k8B7lH0pT{P>OfV{b-G`pJ#KyLNmGSF952t5sRCQi0J>SG>@4 zVF9X5>5o+tJ31<}I}jowJRZnZR0MDLm2n1tCR(VaVA*r%P5{1Hm!AdnCu17`NnfmV z!e?Ibj|`V`Eo;1p0v9Cedjtf#_TS!#t4-=1gr5t${^VH`bJeHx?H(&5kmhKWLj(c$LhvEd~O!)tCI1XBbx#7{WsPKY`?d3=k($QH3Gu#{fQvO!$bu zWj3~>Z&b94KRqV- zYcU#{XmL$PxRiPF9`F(GX-lu=fKuJ7S5!rJxdzPVUg;*aYSLtQi@>-=UW+Jm-GqlX zdTIJ5HX8HmR%HVNs{ngSHm{hI5HuDzmkzLQ%nqDXlBJ0_-~2&$e8q*}G)hir;?t&p zk?To>P|sOQ3%|GE`Ud3grE#O1IxCQXW{_UfNM_$>LX zEi2obl@GaERT;LOUJT9|+k%9mWD`m(8}3UKGExM}bW)nz>RfnVmrDGr@*1$>zr6(6 z=b?mudgM?XVpKiSO*hQ+=W<-~&f5OJ5Ol^>F&?)Jeh^nvvbk@KB8ODxp>VNmRYzK8-a*o{}TY$KU!61;_ehrF+o#CRb*4r()T;VPAY)3oebYJOO+R=KG* zBbJSUFD&)sq$+NIoYx&#_;t$w$=6`t>ejrwj@kUF@0s!I7A@C88dUT<5CO-1^>hxgJ_hVHqRIcOYNk<(5y*ciuTJzpoavMPhSm9VkuppOs?K`Ln;zVBcCKkeP93!_0V2gT> z`jE)xpwU+6t$}MT>2Fu%4}lOLp`tnKv1EfXeDnqwsppK^2&E6A1lF@qt3|ScAyt^rH0a7W7==Mx0cIF(HuJ z?T3JDJv~L{KbCJM8`o^FCI*|VI-jTX!X3A-xm0tka0v5?s~X0CQw31 zaEQE9chH0Lxq29EH16PuYG?sO2fsW!UVoLFNAq~w+^Bocz&+@uKKIZdne(CPv zr}=UJlT8zlO_fgQ24)f3>ov%vM$~2v+m`s^sg`7&-ifQcw&!~AvYK1g+46W&nkPQ` zo|@ntdjOCaQ~;^pKmYubhW3^6@2^q~VG&ITqWl*ap88K{){Un^&TeliA4i&O#nIb5 zE{*52?HB56cg+KH5Qe7`xM_y{59`2^OjGiuUr4+Ono~!8k0AYmV6`%Z?DKY@{>z3jD zhJI3h-We&7Pk!cLxFA2c_B#~xXeZ%A6J_BhgSsEzP{0LK!nE*_J@OCs{5|+{gO8>4 z+Bj8K8y+4W?ija*bSO){EY`RSVaPQn5s_;6s6YJxfS|K3H{SFH%aPUc%&VI|JYy(S zm`Qu}>bY_6uUp%Y>L3Cm^9n2dpXYy%S*>HCH6xW6)Jk-{+Nx~l-JYUd1&hborq}ur z{gc5kCix0gqT*Oj*pUSL-TX=}jl{T*qpQGj`yu`ERC2p2h^2T^%l(um3-e#&nio#A zQIO1#eg#J)zl`;^YyT@M(2U~o{BR&;`8WZ&OcXwZg$m#1WFE|nS;KFCxCrU<%66SW z-l26HTt9#Knapgx@$c^is-&E*g5!|id-aTE6G)xez1nC@W@JxhPy(Ww{&YT8FTpu` z#Hx)dU_wpmkq2aM+>e4apjWKn{Jt*d+i}FV%!?lc?YZWZTGHJXQf2w zGf;l)cG>dLq!vbfI4WaZJmZcfbKAUey3k*{5CDSxx^?XT7*oP#RIsZ5@Yx0kT=v@i zo)-(YaJ7RbYHbf0LjRmy^|+|EFSBZib?(4orTZ9_aOV61ZMmEgET?_2#5>6*9s`|NwfEhru^e`m#*lc+b`DgFSG}nS|L?6 zbN#cef8IWuSW0OLTP1EKEGA}EU`$k?UInLe*kiHuACT5bd&n*20p_ zXTVf7WAgWuvRZ`tv=hR#`vRGwrpu4)TmE2|}cvj;4nW^PP~oJN_4b^)%hcp z_TRf(u=ypvNyly|>`q|p=$9|E%A&usa@PSNG0yOrr$f80F=={vTqJpa7D=3Dr8tn{ ztpQ1N<Z;A9;KplSa=!? zNV|5WdY$R5%|W}|dsMigx{q(>W;~vyg|^E~O$$Gf(g5ys>JZl3Qw%!)EiQ8Qo#H+B zONHcFi}M3|xLtBSAPOMN(rSJ|zC&_H7kMPNOFwxeIlzv%ieVYF#W$b@8ta7t&=?y% zcgVC00n}aWo~JnnInztK@q!e4@&Y@9R1XVNVnxMMPN(<(8_`dC^Fnz^PKwh7ouf8T zeg0&C`QYTKuU>D6`>IVRVPz-GpF5nJ9d|}Z`L-bZqi08}@WOSl{wLzH?2LIqqGLY# zC;#=Rxx4-pMcZ`^Ys{pQ&LQr!8IZW9b$$p2QippKovi#1h& zvcT_IOR(}b98l%pddjc>1sp|Z*>h!%qiv=EfrfNtoPL(W-$eoz`C^*>B?4qQ1L1bD zuatUk;Lx`QI>DnemUz{~&PQP2js#}vc`(je)4?%6SbV?)j#G#cD{`-I2=fCnU+VG>$LXh?$9X zp2Dvxy`EbLQh`cmTU3}t?S`M0c|1Frji>YY#HDyOZvtfI$VVk6U1pCY;c6ev_(bj6 zgh~>eVz6_j2Rg~TqhU2IBaQYgvtv@@Ur!zaVyFN3bt^L{W)@?ITrICmU(zl9rzGz~`{H$=UiqxWM(&HD zK$wl`;up(-TM0gf&CIPF z!qFZa2*RVR*yDh-zsDTkBrY2O2z%xw3o3lubPL`wBmU(PINbd4JKQTF6Fl;zF#2vB z(=!ZHClo&_BEqt3rV0R=v*|DrXsqVm_-xRDI>}b5yhvNwNWYBMaal1;jS4-`<#(x&$;WW=+{2?$H9p7!?7kxbHLfsFQ==<=dFV{WX(4K z8?8je)O|WR+z}yL7xxr2E3Dq4Ah1_I+F3N}F!z4Ur$GG4t2$hAm%!ioFKyGysl)`alLF9pqZ1bqq-F;T6{Tey{XUVGRBE-Q+$2zV%r|*)SX-=@su$6HH&7 zTFRgDEwXa+ul#+*0<}kCRv+h60Mj%A*+$DjA8adBW^MQFHu=tl4CQhy(6or32=_$X z1Gn@Eza#QIQ5=7dJq<1bj`oN3+RX|d8!38}6p{*}5-&MWeAwXab>Sz{?IW6I7Dtf# z!YN&9ev@BW8M&<>7J6;m@H=uU5)CrIa{q@iT&?O_3{&}dLseY;y5fXPb^lC%PO-^D zL_|bcJgaDj^9^u92)I7+)gr;50N zik^2zaAm>w#LO@9s63jn|BfEPj&Rya?4>fB5VfrD9F$RIRoCJj`G+yhSC%`A4BabGS6^vm z4`u(=&D|vy*Elrs22DZVBxuB_O#zW>CqUVmW@U{lu$zYNm(Gsu`#^;}Zy*QcTDma@ zzz&|3cyodKqIRK_a@2CGk4qxLz1{nycT)bt#HnSzRIBnPhX*R8Q%xAcNiE=3MqeXrp8TR{AJszc=E+|-(b z=v>N=1fh@O|Jg0WyOE;d_<#n)^)Qum8*YC?9`yLB^1eG%{aR&XIs9#55N<_wa|J?f zEXbOrkf*&zbzgPD5U{P$&>pi%n$ew#lZV3!34JY^?4QP{?>>Nh=5(M}8hAcLRrsFM zz%cUp%eP^Vn1C|Y%U3VjG~=DSK01F((%ZQxPKU`bcSl=10oMq;fj*;@VK$)`A=3D`3ARTD&~eRJTD(@ z3Cd)hm>=2pDzv{GY(3IV_*4a?lxRw!uh@)`>*NZH$5|usA1;aAFOud$K8Ehu8c2Q0 zN*!d84O?OeMS&JROSXw=39c&eubB(DkL03-5BaaD*|9b?*RKlA5!*P@PQ?)eHiQlB zXYujpl6!KbvRMHr2$i^+LYXaYkk%cs=7EF)P5{jH4W#$;o|#iU0?A z8DrA`Hm#+hK#TU-zyh01%AEELUWSaDp(ji&mPrl#zClU8A;hwA>3Hqbcv?TG^rHOy zbxR1!rDW&Vtzwis8j~3^Q(Fp^V)Iro(0cv-814#rY+`iOfPQ#5aiQ@UV?Qw(?NIyp zsp3A0FF)xrn&l0HRf)>O;Qf#uA0-~x$}@?rJ;zFMRetFD&UbIZ-2FWWP>b75hz>=W%ArB z{``o%vPk$t1wPJuoEN<>Etz_w?27pmF7B|}jj_WaW>Rgb%3^5{nvLTyciFbPfP4J$ zobxyi8uaejP=We@V%>nSm#Nov=b6PZN$M{Q*#bJ(E0mf~&E1=u?DK6y(9+?ureRMCR85Tr5vlkADch#2~p zu+h>AR2)d$6NX#~*jKzi-v0>VX-t!-nFrmUbvUmS(+~J9rrprpn5PsaTSGLt7s9Oe zAxRQFO9d;ooq0Z=XUY^de|s&_w?uYfBP59;4!J6n1F(l-d&R~r3Juyxm|-63i=|J~E$X$@Tvz&MzQ$$)H+Csb^6ij;4*Z#3 zLNaY<@AI~FRwa38d*qi}|GHJje-WCf_jlKLbs;{E6s}f&E&p^|QI3CLG{zq&+Y~e! zPOX?_NDiz*M9f&qCJP!=M#aC)ynM;{=A?jtb$BHQ&S`Y3rH^6a8#fNU95i{d(mSi8 z7@6FdiR9thI{Yp!A81o_E_+^S^M0Y}QX3jv zY(N-?f7_(JLVa}kM-O+cpv${K3IqC5@HB^8ZPyrptqCM7#7Agx-fWGU~*Xm0ru=IU=#q zFpS`MCA<^xJL5k7`uS(D;+t~zEaQChwcfs~Ic`ZT9qYxhuXs1}_Cn`82VR3!TIex` zsjSQqjM|u$aw%R_yiMtPTVQ1K>xk0k^{n^TM&E(!F*c4M=|4iAK85ye&9~S9PEM&* zq#zXsK+9-_9@UY_@s+vJiBL*m@uR36*s`s@S87bXygn`FC^*x18V3&56*`R+enEvy z_%U#%2+Wecf^<@V%=>Y{G*+Q9UAaHJ8P9`5?Y!Q-1{K)#G3h;^wX?__fvd7h?x6Bu+3{MQgmL0Qu#06@rs0^ zdb*1GNZA$5XDwDYR^AP-*{xvuuzW54Q|o{^T4rrmJM1s*#lfqFI}BfLG>1yWDI4Xf zeOmDA7B`z~j{bJHV5P^N($iY@i?oxf;zlcu9c^@{a4%3q2_|~sxjA;Fcl`=2U6`4$fy}W3A}&Zni38ON;&#CeusbD`38iWVTq6()N{UQPaGEz{ zAX9rVvcskGD!5s7K^t|Sy-+3+ckF(Ytm=u+^+WqhDuy+@uIg)+CCm=~x+NRDxzIJs z*hvADT`PE2vBI>JN*NcP$Pd9Qi;VZcHLV{*$tmr!X)=U+^MlN{yJ5y8$JyNHOP5Rx zr&p$z6N3O^WO_Ma9A~Nkra)y~7R&hY-l2&iZMf%~bD3Ih7oE+_e+~o`#P!Qk)=Kf# z2y!d{PMzf2A^NR3p=S|ORC%G+0%v+@u~%UHripbJn^MxuuSe!45(7Co`laR{*) zEZYQMaHc}<()3I&SzF7$8eqvmY^=C?$}IalhghHONO;r#-~#cp1)Q82j>KTX%Y7gW zsQb^_h|X*G)nLg1In(xLe*7IHB-*P6?A0gi&9mjhp4h$c4DzTv;CgWmddgB4u}t3f zOjq|(W0K%ltLPQO(zn*`iB@U!&uU;_JyL*5jNAj$ox^ii7-v39@?|UNYX*GfGJR{N z6Wkv7Uf3zzbl@x-c3Bgg={h4*sL0O{q~!Ij0f+-QBabs1%XM#N#`eD62>)4#GnCgb zAY`arW|;-a#UDjM>1s$W^TVx`D_p^2vAqu&7O~lWovjn=PQgC+xA6$B!W1N+=xVF! zTQE)Vf$b~aW;d}C6Rv*CYea$W|9qG3%WS?f*hef!_4lN#7Ar;8q)2q~?ov*Ca&}ZJ z>D?d*{VI6k7d(YCI*SY{39yCN&R&CD4ZpZ}RU z9*0v>(-p<*X_}$L`e5o?DS6WKH37A2xit$@HbrMWoMTSUP&JjY$ShI^yr_H5uUqvH z&G?>$l5c-+`wuHhukY2mT}_EPaq|=3rho*|*Cg^X3iW;;eJ`FMYps;SfuL4x(mb*> z^J?y4|Kt3FaR*UgK2I&U<0@e*-=bA}@9<3^fAtD8NGTtx`;_|q-e^~+RLvXbVbrt= z-60?6da5CxhJ&4fgHfE|#@`#D{cjhmS*&6QL~z&@l% zE3ehQKnOfg5ByGwjQV*YAc5U!WAIP3`yA?q^Il||Ld@|RHb|_xvl-rD`1E^9z5Q`P z5VqL^1z;O?N}c&N!$ME?FS}m;-CWIPmD2|LPlQ00m(2jx;(A130W}KUw=FKysO|jg zmMdqTC)?I|!|1gNr6Rf91P&;Hgq?r;GzusoxtRD{lL(oru$V^QC#H8i-%LyUO|R#m zu9Ua3#{7lPfi5BQhsndbr3Lsm1ZrOVsgwgJTd3MIh58Jp8np3GoA*#)fp}Fo*fQwud98r(AB}8b>wGpZ%vUf8p{z!8l3QHN+?F!QU=uo zSF0ltxcHBmjESzLiN7Xh+;u4LTjb{hMmC%xllv1d7I>U=v>WG?YfpUqb? zg|sc1l{20QvB=^Srk0K%k9Q8#)I@!4GLAKN6=$!DcN_#a4xWX&jbKQl$m!bydJ?8_ zZM<%ZVOrj4cx6o=cs8uG^;ln5&sIbUg~VHc4Ap<#BH-mJhKUvlK!4ETm`iHEzpLMm zO(?10d-f=HvqXICc8u>fCq^6eFpU-$cx|oX=5RJSV>KS~`ZH8*^G@iHvA=(4x->#`u~1ii|tvTuQ$4=gcSrb)cm-6Imod~+)zCx!l@H|VMofK zi(UI>?!tKeLRP8858@oar$BttsRQ_Q-F%)?#YU6_&;%h^54_W{3T}%SuJ6}VWXOr% zjz(e8{be)ZgiO*M64Ka7%6`h5Eb=tzq_tM_LiCt@hx1JGGoZw~<`Mnr{LZ`nu1+w1_nbRTFm1aZ!*uspXNj1Pao&qg?$No zawuRNzR5hld+*hSDIx`u?UE(Mdb>L!P25p$9_-}M*}13V@n@%C&X+Y-2@ zZ~!sR4SQ!{+1&OqT#LLK_hn1~X6zE~ERIRnAS8tX`@$7Dg8Gqx@a9l11B0FaiR{eJOYs`cXaU z{+Pk)sFa3GonCMge=iuR>ZJ)S(!xQ`ct>n4`S2#BQpF^Y!Ekzs$&Y{PMqzCDbqCU> zg7xUV^`kEi${gHuGcf96<0Y#;R3ziutIF)Fvj1cTIg25UJbdwA>j|f<~ zY-k+!!M(CdSV!kzMd>HkBLRUu+WVU0kSZ_SMf#)dlyD3;`?lK-9kqn$8yOqgh(&Zb zuhLE~`n+{zWAQgh!iL;=hPU4xo~nm+r+E`aYk3@^%A6D6tn>-3GsI zv0X2`yI#d@|GG6Dwd|TxzB4zwTc22T%Dy3ND6L|jOUKZ^vxzNK@T55Wbqn-hNZ$6* z4uQXA4jiB2t2mzRs->_SjNRB}hwiIujJu?^dM#oq-O{mGQLtw;hiv@eR zLjfdjvUgS?@0_HqRW>&lCyPw6+6}m5pgD~B?hDA>_ZGPbxN~Z%pdiC>uI2gF695?g z5lD4(vU5}4|6Tb8h_k@B;TQv@;Jf_pQYDmvaGZqzDMbWZ7|+LA3jb8(pinnP$jf}4 zoB4leIE6I(c%lh0IP2G~14_la?|5ks99V~f8qC{43p<;dml^8PT?$z=OKupNRksLj zbtE-%st@_`(T3&;ayW1u5#-9XDFGI4ber$qd!HKX)@%f9kF34A?6B?J`J2~XaJw-& z_mT21Hvf$L$v7UiCaG({?2AsqMyKEFhUC0WZaU|O7B+cBALev30l?eg z2ootPO4(7+z3MzQpGjCQTSIisJ_nd`RyVv~fG*f{>It-r*uDk``GtVY+#Pip58h|w zRFT+pnj+>k<)>iM;EIzC1#&jux}vh$lGOjkn#alWJ{Y+!Q=nsIKaIYy$xKm8K33zL> zuV<2wh4ZFMxL3>%o^AYw);P7$1iHQ64g<`Ho(kRU0|`{WI~b5bQy%(R97IM(v1RILSBU1 zeLR1z2&rsPU$WABrYT>rV!qSUGWT1(erp-P33@f33Z+&3f%lbY1)tiTU!WXVNQKWf z7=iN^vJ!xVMnUH`e%tn~u*SLWQ4}^f(Wka{3evK)U$PYfO7R+LS#0x>RdT7M^73mo z5KSDB=SAP4nC=5Ixv9X5D%4A=!!D8P@AR`(*&Krt{sZ@u4yVt7Ute9toLhV!B)Ovf z@?L2lII>A31;!?7JdZ2ZlXEm9K)v-Sjrp%tb^pIx;rD*{e;(|E0D=B@k^TSosB>YC zkVO#^O(Jp6d;_3c0Gr@9m+JSAC7X(=+KKLE*})swWoGw4+g+tK3H4~bN>NmCzrnlY zm;Xo&%;Nz@^X~z4+WZZS$h-d=JU738d>Xu|Fai}-@qsF*-;ZhWn+g^1u$mHA`#0UU zaEg)KZHx+h-HKsHq8aX7fglO4BqjuN*$_UnnK~Lj%s1Ub3x1ahs?o%;eHm;@CTPzv zy3duH*-v8*9&bok22gvwFWiYKR8Rx7@i;{O%GL40Olw5z%!IdV|3O1*$)8c)e-FdJ zTZwoepPQb4=(d!awdT&3&Bfms6w9HTjootnIN!uj{_7T9AO}gJl($bJ$z2PaVUGdU zRYBrD(s1^;@J~A;qp9{^)7so`Xg5KRQun2JBkhWI&9{o3=7o1pGEv1Vos(j8vpN~b z!u~iYkpo@)WoTkUr(B?3e5359i@;q4v(9bRBLT(R&DoR|c$2Wq=aKGXNs?YA&`JyO zKmm=n<{OCRc!jB5mL=N&s>`aUJG%T@3)BZiP=*mU+p4pZO<;MKkeRlD;ivQL68cB~ zb-P~gO3u^=q3>qxX^vc(Nfz>)rKUotX`5x^I5#1>LC(j_6QL?6A*R%%NxF{1@`y0T zWPe>TxHZ?;gqTLo=Nz6Wxq4A`%hWyi+CTrDcxFZ8cruu~GLE!Z);vOhy$;9c_%Bn+ z_c(UrwyT@_myLY#OV!C_7rgnC4px~Xd zYofFQvNV051-#L10)cF~$i^M6ZFdQ+mu|Vt zT`Ata2KT6aL1Wk=^c=g6eJ*XY!q^X#OUfllA(Wc7MKAFP$9K(hLB9E!X5-@BnA%T7-?z z60~<<_**5sN+pLYKBqpZVTh`q*0~7OHB~SZ#1xEBW-XHYDC2OQ6mO|+?W8MR%p*-O zy%R&BIygT@!%{I)u?`#zig1vI*|Cbc_rv5ks=X+jVj~#op{A@%58z!bT86_a4Kd>i zv#hb+#s_fh>k=<`-NewFPK3djfXTZWvK2$BH!)I1GzC6cS0FF7r-K}piDI0G`hDu+f% z-q4D3Q7tR6Z+=7&Ts=ZIxgUyya!Z{@FPyu-LpiGz{k#4&bdJnDg%k93^IPWG2vEQa zK{tO5p8RXMdUQ8>bYR;1A!nL*nEN-_i!4Q%_dR1<&kA#VO38J}(##%QWdV?>SF4-y z%c`I^swi&4A<>mY_KyOzkC!Cz;5<&{N-Zozr%l4V2-+~f89v5OTUrvTzJhr#t(M$O z$4CFg<6TQsxj34Ig9O~hFh*3jAM7eZ@WM1VcvZ|*!s@vttbW}RK`9U^HZ&)C!sYBy z+7T`70eheI(%UtFtF33@aOiE19nM+-Z?msF;7C_h!>23$*QJ`(<~GUmocdwydVke@ zBGw$a<`;Xjsx=xeIrueJ6s9`7SWiBB*|i>vef>U%p9hJ1IJ*kdM8nL+4y+2&)06a* z1@ix`O)~?^DP%Lx-gQOy>NZ21BR0$=A*fS?@I_J1@NU{2s0AbB*Pe%*-7!6rZP74*L z9$S;6B}wmx+KV`vRf^r? zDoL;%y1f+_7X%4W%KbJVHRBC?vGNbJvL!B_S<|C34XhDTR}gf=>b#+_rVeOzGox&* zT=+AiIf1_2&TxbhN#=d$#{@-Egurw@$ONq=1tMTFFvF_GBf|OC=Y55}x7miX8hgTn z?E`d!$N}RV-s-4X*(Z%vF)XW4>HsrNMOZ?oIypq_m-o5TdzxFrHKVme2{?NlEmdfd zsW{c&MNL3sqWAFCf`O+HJjkQ1@#5G zj&Pno;!u^EGC@jy##LIb?{dJBOUcq8io(uwEzOr#kh$sqlaUaQZR`sdMAAxPm zG7-l{NEWD~q8#y#-f_^Dg!?x!V-39u#PCSRfq-+*l=dI;#L(MOw(SC)JY%dpi{X@np8hdm{R+5nhF>S+|7ShOfUa}m?I?0Ws)=BpgqPujA7J|ec=?} z4Z@;r2=SOWpF)Ah#pphCO0~DsPJ*}Es2maPDY~D+zqHD1D5Ji);)JH7lIx!<#OjM_ zFw&I8Sr{a3JGA6Y%)2-IaM$XTpdEPg<;!S3F^OM{kY=>-+`)dwV0oWHKuWudO+Q5q zV1!NTs@KHvfbZ?24B2q&I+YH!m2%A<6;`RLa3jAT8_0b6!5c;T z2wg1!sNLacs5fzFoum)TPY%Uhknw6?BVycEO*PY>T)YtTa^kNEP(iVRlhnrkT`ada zODQK)HRNBhS=#w)%)+JB8Fgm<^um!%*${#MtgVTVAwI=!dOsNptbV~`B+{u0{ujB7 zTw3(zWx@pgM98_WSt9yrU${QlYN8C)@4WZUpV+rHUO_zY`M%~;Ri>0`?#VHC?MTlu zQ`ECM<#R=jT3@dE2 z!5D{blB#dCS?%wg-=EGnNBeGcL35Z?R+JF}h3J#0^&08lSL2e{O+RHhi%-jQJ0bNF zFU4ZeU~dP}mG&feE)V9fbQ8wu%FdM{42DA+FZ-fDywbk(hL2Qd5NgCryDM1cw3UJo z6vG0wA=aa}M|?!%$cz6R^3XB|g`f(rLL8x zn>nlf0REZoO+cZDu6_tOTEi)MjL6N&R4M00N@Y`ohbPH%|GKp?JD{VH6RP(nJfKjS zVxFY)>sF6-XD;5<>gun2Z?mEpXbmeo*7E%-w@T&91s)qg^OM)Yc_r0GKFL*r)g-a_ z^20+H(fii8@r40t8l~PWV{rA7Fd6n*dE`s9cfh0*DspAWPq$X;6r2k$J!73=@Fi2I zTkKi(0Q%F@e<+xY*hoPc1(vTmbbW2A``6PZyJxR=XiZVN-ap`OJj%J!Hn+yBf zOV0^<(DtL?^Vgk4)o(>4egwxykP8o{q=cV2X$zskbZj zjW**;q2)kiF>yl=)1rY~=x6iHJOO<#l;y%dca7U@i&+bV5^RdSQGQcTN<2hy#+uI^ znGe^_5kI)0H4u9uNsK%JR1(lNp!B-q-~GQ)2qQIeM+;9FSFi6ZsuU$lSMwZZ5)Z~k zN^<1IRTJpQpX1?$Fji5IeoerDX2gg@^QhV+aM9vBVb)7shsTp+ffL%vn0*jS2_~`H z$v=POywKst<4u7qZ92FKzr8Kd2<1EylkhH6L*QSeu_s_U-Rvy zqRh0&9~v#@gZYtyv2wd{MscC*lh4J7oV5R^d9I`Lkxu7B(JBg!4WYJe5hXJ#%og1z zem~e=PewE+f|X|SxW^t*J?iXIqqJBvIw+A{hO#Yj@-%ZCaIlvj38*S3e>GsCq8O7u zE_G(UclP%gKXZ1ORr1&v`64>qfA{1 z8mzZstiAdLDhm@E_MVZ_PD^H%-j8J<1U$!wo?NqGv+Tq&*=FsVWMk1YqX-Y7LX34zV%k;D`+N2W(9-OjL&+K(_uhb8DP5(+@rYc&4>16D zO@2aOgpLj58lhKH&<)akK5{Us?`1|iR8o?}1th{=bEP^#1=Av`M3~fhUAMdfy+u8T zHT|^_v+%Q+FFMmzbP`_71y7yFy*R~o?_2@r0U^ZH|@@0u`4Lu z(Sa7QP;aUgk)Z80r#g4e{Wpog70{JUdQit}uy zS9b(axEH1co-fjNI(m;vrdEeXb5(1 zSmSO79AAw1&itv*{)r$Rb%eZ5#FD(WxO_P?c!x3X}YB1y$0ka#vMV zq3GMm2BoG+x`QE|ZCO7SVRI{x>X;+%yH~=p4+rnF$*EB+5mk=O#>jG1i;XXJXL zO8l=;ruz}}8L4RMJoOQyDQ%**&YG0D2ltVKkR>n1U(La_57&F0e;*0QnON;>QvR?;i=cu2V|2S7j^>!yX%9#YhY>C37goBeRN{nNC~ z$Y6~dcaXJ~)Be#u^eeNOO zp#IFGo<(!tt>`pdKzDU!fIuEiLBYPbEc?1=$sv4Lk}q0)fI{0cv)eorO}md! zyP3K91YTwD?@~3R@^uHfqaZN+bGut^I~yMnJ%sw_*s&KunJL2hji za^_j4Rn)e&fY-*esKNJBI21`&C4KF z(7OF*s8XU7=}&4D54dxNkP7mFt`KT`%<8{?xfOrfqmaH_IYb!5bUazy{B?t-8~NYA ztnuK%S=?(IQgcA--4cb&Qu3iR9 z1e3aAoNRHIEfnJ)uAWIKF?a02y4+NkMz~*(C;a$e`d|}M`kjOI7cBNZWq=vs{mQVA z&F6fPRNgCc#;9~qEJlb#vC(j=cUej?tqPqU8NLb^91uwq+$cIP!x$;=+aXNB*dRk<$8&NR6( zwoKY0TsoIZZLy}?Zk+X=q^WwpJ)1eEVq8{9r_3wl@r<+Kg}tH8?}DFd@2hFHSFT>D{AQgmUR2H?f> z|2t%zA$9Mn%tSPzV!L#B>z-W9%4OVn|H03_W=m$gZmC|6kT3kdmypWM#Er3XKH?#{6 zG^xSeyzsTq&EJd%pyXF0-I`0^6=*kWtr)LeA0r&;$k&+Lm6s;1MCT@18YZ89 z%w1Tu6@bA+x)*l$ZeZ&VYwR1(P2gINk5JyER+-R|eOk%0`KB1HwLkChzxwSbnI831 z(@IZTI@Rw|QTFJIqxt!k0J?Xr$e^v+=+ixp=`?LUFI^p|8D z!iLVh0>;{Q(cyGD`nH!whM&N=foLfQD7eN+OWIadkRe%UA_UW_eqx!EVE?!i3)t0= zyDZ$YS0B1ab|=*pg7)U5PWt;n-xLuKmGB}cxDRG*0*jdD z9Q5bb+&38$%@r_zQTjs29&B1t>lolTV54pur9Apf6*7r&&bwcQjkqD=+5OSO{3Zg_ zf)Sm3_7R{dRliy?0FjVfkTq{TrK-3ngh;<)#8No&&2HlR<2{wmzq&ry{`#KyY0~KH z=eDkr+Tj00L;4@L++XKw-w_VQAHg@mq$Hia0V6?AZ@8Q;`|AV^8=~?2z?zr0{Bc+# zB&2Q4Bb2jCaVFhwX}pv95#}Wpmn9_`NVhVqDbVzT+qx&s@k1Bx*QI|m>&? z!{mfQ?vyl*{V~2S7y`8nr_jED>Xt4^K1@yyQjhqlSQB_K^nxGPz*q#%-?dXtVspmh5sRs{LoelM*Q z78Lw|EbU^BwM(dY&r0UAC;oK(0RdG*IhKnHogtARa{ZVz3c%R0E!eS`an@;?@5qJfjU_je1L%-Rnp7XNh0H z=#lb!@88Yl7snVD^G5FlZ8DeQ$3rk91%R!VXP_u`S89KiO+NO-wFvMGScVcaug(B* z3UE#Wb_96IsN3uT-Cw{v?j;~txK%Ei)ix|sRP3B%|J1~4S#f^DDFh_5CD%ak5NKp| ziQ6VSre^RT4O_pE&f1Xj^dMa6k*=VHljfLj$6)wQfm%O8?RV7+@kY(Li$N^EV->90 z;hRsFqkH$NM0;7j`sNl-QE2fK#9mnxSS^Cj8LMT<4+uz&SlZcsRfvzS_M5)SZKH($@4^tRdgFW1S)IWS!v9Jsp;l^JL6X?ED zV@ryjXvj&+OsPSL(`0j!w2|&yR1f1uqB;)EsR7NBFAp6628Z{kiyrSpj#$5X@8P06 z{!zQ0<#${R{^^6DgQAPE=l6%6Rv!QsY3TUi@*m$Qca^?ueflC|{B*qYT1wP|Gv71j z3KL2}r&JQpy|Jy&fE$O2uyB6*gR0nID|v6KU*G#asKZqN4&MQ?)UCd)2|~U?R%(&w zhKy=I$y2!x;2m5&VNcOjEMzlghJI*Rx-|d~PfFUUy{i`O{&Xqg^K})@>;r+20v~vty{mq5137DO?aD9R7XkuW`eI$#V%U~?eB;UuG3DOZ zk!n73)B+6N{HtjjQ1uKBU4X6z=q+XZ`C10P?mDl^tHOk;3Zwz&Zks8kb>MsKf7!TL zy4kM2Ovb?AkgC!VGfZ{pqe}mD=#evFv+!wYy?S{~zzC-4hw|Q2xCApq3QI%({NPmC z;oLJUETp>GB|_+Nos9sxJ7-U-zY0C3k3WKawT{1E%Kx^AhbfM05~^p9cJM)ROybA~ znQ2w|PtC3kC4WRLewZ;{^s=9~V}TZW`30@5R*;@vSKaYNxm9^R(oGgAWjL;M+`sDF zv9HOyk9mcW;{D_xRswq)8-+D{xzA(p`kd-nnb$1=>^WKfuy&5Jk>ip_)6rJWfzBhN zmgLcGD}6XY(pwNWK047%&>J#32UrB&-#@)8ky&1=RueXB|5~&I{!e94oQ?hM zWlo$V-~esxo~)a4Gxo4y>Web@=h6<{%Ou^m-9Q3#U|>Ffy86EhWdYy65wLP&tCw<@ zIX-x`>g@6S{q5i8L6wF{Ot>e9QmVIFsB~7b)#|Qxf)l=^Hv2yxX!O*Vs{k%~*5zvSfIpQl&(wW=7&M{OH&bf)gxd@t z#|+ciOLOwEqJ=5h*a&ro5IFjvqD=^g4PaQYGvsuuQ#Ss0v?T<9LX|4(!VH?iLXSF2 zWCJ30qukKf(xoM74LzZLqeaSD zXJ%2#wi2cf@C!1D9z5~B%K5VD+DAqff>HDG+KA|n4oZEj)pwr&2mcN|5)6sqLRNwte zRy|8ZVXywTCv^ab!@^_O6XY;#74Y7#(}Fs*>r*vTZiJbmWG0iXQp~Qv9q8H2Q495K zwQ*n|UisYeNBG69+x_#uoq}OqFMp=)jm3vWSG+zTkCXta5j=~3c>2sPwX)KH$Ins) z0x|z3k>h|I=HxUvk-i`J|M7U$4^`(%lYYeS4L=bd&hO|P8KiQm0hP0gXZ&<$gvv%K zXJCLr!v<~}Y~SdeKQ!XX)VB>f$#9@E+amW{WBt!dR~ z7Tay^S2$O!M0Kp&frrm~=lE_~8sEOM{u^;)|Lh6>&imKrf~^cAz&SJZf7U^1_alU{ zg}7deTvlYAtLBN(n|NFDL$?zxZL<-1<&oLTqr=&`z4<4h?J&H|8UCs8RxPG!vxV7C z=DA1(g-T4B{|7!@IK7VI{h`aq9y5#(Q;nZUe}r=WB%5PDIx>cNF6Zjg5C081buLKi%Ej|l@_ zykz4|;|c z_}l6SDg~wXK6bg=wD7mxPJNyCOaCkrrk_>FFgA8NJ#Fz4UBso%yKW?V|1RYj|9y zAO&0~$Yir&iu@q?Ckz{V1=m`rcNC8?)t|joduk20K zLfbEUSbq9BJin*#Ei_6+GPEaV{%z@ukHb@>JM^85i7q)vS-gHFMh|(z`uP~N(sS#z zhW^6tRz@K*N7_e<1>Ii@YdyBGgqmokHCm^6cce30XS%>oHN_UqEWl4-KcY`s6>Y`? z9ji2r!6r*B#S^Cy5j0{=EH?RNwBdKxwdN+x0?OnZAbg3j!H)cplAs+zhRzx@|rnUKpV!9UrgGA3M~{#Jpm`kN}L!Y-CwnW}jG;2mPRla${Ps8C2)Y4n6B zIc)!5oUSd9|F zVkpw4d^>gb`%RU+qTEiN$f~t_wfuEA>HDfIzX|4PpWFdT`)a7~@nr9S%BU7t&<>4c zAgn>>~%&*lwGP`O6qo% zMxjjTP+=xUC#8{-*kt_cI;-*Sr=-Pd11BBJpV+!PtT4<)01M2D$5#nf4ntR*h`#~X zdyTC6+Zs=#wA9x|Fcw@p*VfZ}qDPkop18S7db6eK%Od{ZP7?!Rgb_z9l#0S_>gg8R zLSWbPBQ2i0{&O{TA+Y6*wsRmx7%Pk+bh#@^sU@}eJU%|$4inrq*9kN&xd~KTY_`Mi z#;HGTK3^>F(&zY|(TQo#U2*05ogyHvpCa8X3BOlhz9y37o%0Lx{uR2m6y%8clKCn? z+NNKc&$wg#PV>5k*!ZNbF9V4yRTH0B6D?Pt~=bkP%=-^RL0`6 zrA>>o*A^-LB| zW3J&Z+rHrZ+9QtOf?)>I%&CaXY8j7|6gcd&@5yL;s*S-l=qy;sLi$5hnrSh=rAOY; z^pswQ1Ha>KUdTr!`BjcNZDG}pfv)u#8q+xgFsd3Eh3`#WVmx1Mk}0A8jP~<7enD}) zD4)8aEfQGPEj=sRdN#sqFWw9eJoxU);vf2FL)RvnO3JlG(==4#^W5k7#-h_5^G2j? zMEOL`6-7LFQ{mpWZ@c%{VSe<6&^TT#3UwT#7ZU z)Cf*<^$+q(AJ2+CK=ET$Oxy2tm(CV8FT^XG7;gC&cx*V*uf^T0w47fikZf1*`f+}) zhjJ|4c)lA3XNBYD3Un|+;%Vt2&6>qUw$*@0d+Z$K*r2UCBT1E+RRC5R{B`? zk;IB?%WS!uNBQio*vGG(3(Jz{oi};0{n$Fi9S6)(v^NrYvjROQ5T4bfBa;3=THc1K zLI}y$tdB*!b8phwML@^Q>{IG<`FqEpim;VYD&8~`q{PTnIm_-8&l(;!Ej5FCuVvCY zTZcv}k;q-ehR|l)o2(bw1|(mCg2#?S)$0UAXzM>QL99DYORl_5iVaUVT1GjiSG2`^ zuKaj+Ihfh)S?qM!w|tE>o~S;h^!byKwy;Fz1jH?cZI0>ku4ZsAz}$Z%K-6C?sqf-$ z$s^hPviuI}260%lPTMuQD4-KYjU+dfNMN8CTeTtHRk7}~!TAl@okXmAAYCJS{A}bB z`dp#+(xsMTiAS?YKcngY{za0A1a~x>qIcVi^v}zBAO$Y9lG5pLJ%e?AhZXAkc+!~n z+Un^8GeCgQ$d8OrigvV_MWfZvp5VpBWn^ELb6-7yovsdGop1uq7qgxONaY56$l5Lc zKDuWWqN^ZA9Z#@X96eKJA@0FA;aDe!bY0R+fs0e;{%s-adMqnGjt~Dns~}ULZq^fY z7vopw=}EN{=e!_%(cK;l^0VLBTGJBOd#{pgeCTfKa9NspeSIAaa^2Pz4L7@{?KnVc z9DBnXDWLQTRA%*tHr8%~JN|g0=)cz_vH1Hs8zU~Fm6wG7ghSR27|=}QGv&)8Rbe}- z4Y4Ou8$gb18<(hFk>p8Yk_NFlBs8uacCm}_K2=TZe6vfqWkGhb7v)w z(<@vxNa1S}Cqfw|UlSIhInaEBnztQm14wS;`d>Ta?-D|m9QM{kLJeukt1)@cX@h}ZcKj!|Mi9xbE-f5G|vXEGU zi)MM*=qpsqARlF$sf^k)NmrU3qP&>S`C9ZB#q(E9_RO4XlR-pbCEjw%ZCqbC9-CrkZQ@qk!Cn{_I+ffh|{}v6tT^P<`Q|z0sbY;KOzj-}b_B zQ)4HWSE|^pjei958cuyGx�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

<$v4qABY}p}-KKbd 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

($+|ipCw!$r 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 literal 0 HcmV?d00001 diff --git a/src/core/images/brothImg.jpeg b/src/core/images/brothImg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bbe65d7dbb6b3bb46f54b5ca8aea3fdb7424bbe8 GIT binary patch literal 6130 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 literal 0 HcmV?d00001 diff --git a/src/core/images/desertImg.jpeg b/src/core/images/desertImg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cc24c2c846333df511ec29f37d8725a7767023b8 GIT binary patch literal 11770 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 literal 0 HcmV?d00001 diff --git a/src/core/images/funnySandwich.jpeg b/src/core/images/funnySandwich.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..698c1dbda9d947d3a0ba76a5129ac9268a372e5f GIT binary patch literal 8318 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 literal 0 HcmV?d00001 diff --git a/src/core/images/pizzaImg.jpeg b/src/core/images/pizzaImg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..98d3900c1e0d6c34d7738cfdbda45da41a56bc4b GIT binary patch literal 18833 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 R_Lubp5U6o_n6`I6|Ji8zUR?kH literal 0 HcmV?d00001 diff --git a/src/core/images/sandwichImg.jpeg b/src/core/images/sandwichImg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a0c558cede53b18322f0a7c4789776d0ac687df5 GIT binary patch literal 11857 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 VirBrxJkD{lIfw t-H-j0kFS6&Fbz(Y2B$CWlbF~(fAV*=5A`VN@N4=%?=+LYONqU%{67@=$Tk1~ literal 0 HcmV?d00001 diff --git a/src/core/images/sodaImg.jpeg b/src/core/images/sodaImg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..15ab143353d27d9b21bc655967d29836476a77ed GIT binary patch literal 11277 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 YJlTsavJ*Po9`s5(r2pRt@?qis0g^ByjQ{`u literal 0 HcmV?d00001 diff --git a/src/core/images/uglySandwich.jpeg b/src/core/images/uglySandwich.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..977d1ea1ec37bb35721e1c152c732c05e3196e71 GIT binary patch literal 15176 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 Date: Mon, 1 Mar 2021 12:11:48 +0200 Subject: [PATCH 04/41] [react-restaurant] Added home page --- src/home/home.jsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/home/home.jsx diff --git a/src/home/home.jsx b/src/home/home.jsx new file mode 100644 index 0000000..5479934 --- /dev/null +++ b/src/home/home.jsx @@ -0,0 +1,14 @@ +import logo from "../logo.svg"; + +export const Home = () => +

\ No newline at end of file From ce29a8aefcd83e88be670614cab4f9c55fc184bc Mon Sep 17 00:00:00 2001 From: floare Date: Mon, 1 Mar 2021 12:13:49 +0200 Subject: [PATCH 05/41] [react-restaurant] Added menu page --- src/menu/components/menu.jsx | 8 +++ src/menu/containers/context.js | 3 + .../food-card/body/food-card-body.jsx | 5 ++ src/menu/containers/food-card/food-card.jsx | 19 ++++++ .../food-card/title/food-card-title.jsx | 5 ++ src/menu/containers/food-cards/food-cards.jsx | 13 ++++ .../hooks/use-defaul-menu-context.js | 6 ++ src/menu/containers/hooks/use-init.js | 8 +++ src/menu/containers/hooks/use-menu-context.js | 4 ++ src/menu/containers/index.jsx | 10 ++++ src/menu/data/food.js | 59 +++++++++++++++++++ 11 files changed, 140 insertions(+) create mode 100644 src/menu/components/menu.jsx create mode 100644 src/menu/containers/context.js create mode 100644 src/menu/containers/food-card/body/food-card-body.jsx create mode 100644 src/menu/containers/food-card/food-card.jsx create mode 100644 src/menu/containers/food-card/title/food-card-title.jsx create mode 100644 src/menu/containers/food-cards/food-cards.jsx create mode 100644 src/menu/containers/hooks/use-defaul-menu-context.js create mode 100644 src/menu/containers/hooks/use-init.js create mode 100644 src/menu/containers/hooks/use-menu-context.js create mode 100644 src/menu/containers/index.jsx create mode 100644 src/menu/data/food.js diff --git a/src/menu/components/menu.jsx b/src/menu/components/menu.jsx new file mode 100644 index 0000000..2634031 --- /dev/null +++ b/src/menu/components/menu.jsx @@ -0,0 +1,8 @@ +import background from '../../core/images/background.jpg' +import {FoodCards} from "../containers/food-cards/food-cards"; + + +export const Menu = () => +
+ +
diff --git a/src/menu/containers/context.js b/src/menu/containers/context.js new file mode 100644 index 0000000..7138e89 --- /dev/null +++ b/src/menu/containers/context.js @@ -0,0 +1,3 @@ +import {createContext} from "react"; + +export const MenuContext = createContext({}) \ No newline at end of file diff --git a/src/menu/containers/food-card/body/food-card-body.jsx b/src/menu/containers/food-card/body/food-card-body.jsx new file mode 100644 index 0000000..408865a --- /dev/null +++ b/src/menu/containers/food-card/body/food-card-body.jsx @@ -0,0 +1,5 @@ +import {Typography} from "@material-ui/core"; + +export const FoodCardBody = ({foodItem}) => + {foodItem.description} + \ No newline at end of file diff --git a/src/menu/containers/food-card/food-card.jsx b/src/menu/containers/food-card/food-card.jsx new file mode 100644 index 0000000..c6a382b --- /dev/null +++ b/src/menu/containers/food-card/food-card.jsx @@ -0,0 +1,19 @@ +import {Card, CardActionArea, CardContent, CardMedia} from "@material-ui/core"; +import history from "../../../core/history"; +import {FoodCardTitle} from "./title/food-card-title"; +import {FoodCardBody} from "./body/food-card-body"; + +export const FoodCard = ({foodItem}) => + history.push(`menu/${foodItem.path}`)}> + + + + + + + \ No newline at end of file diff --git a/src/menu/containers/food-card/title/food-card-title.jsx b/src/menu/containers/food-card/title/food-card-title.jsx new file mode 100644 index 0000000..8f95987 --- /dev/null +++ b/src/menu/containers/food-card/title/food-card-title.jsx @@ -0,0 +1,5 @@ +import {Typography} from "@material-ui/core"; + +export const FoodCardTitle = ({foodItem}) => + {foodItem.name} + \ No newline at end of file diff --git a/src/menu/containers/food-cards/food-cards.jsx b/src/menu/containers/food-cards/food-cards.jsx new file mode 100644 index 0000000..1d91138 --- /dev/null +++ b/src/menu/containers/food-cards/food-cards.jsx @@ -0,0 +1,13 @@ +import {Box, Grid} from "@material-ui/core"; +import {useMenuContext} from "../hooks/use-menu-context"; +import {FoodCard} from "../food-card/food-card"; + +export const FoodCards = () => + + {useMenuContext().data.map(foodItem => + + + + )} + + \ No newline at end of file diff --git a/src/menu/containers/hooks/use-defaul-menu-context.js b/src/menu/containers/hooks/use-defaul-menu-context.js new file mode 100644 index 0000000..1223907 --- /dev/null +++ b/src/menu/containers/hooks/use-defaul-menu-context.js @@ -0,0 +1,6 @@ +import {useState} from "react"; + +export const useDefaultMenuContext = () => { + const [data, setData] = useState([]) + return {data, setData} +} \ No newline at end of file diff --git a/src/menu/containers/hooks/use-init.js b/src/menu/containers/hooks/use-init.js new file mode 100644 index 0000000..2803a6a --- /dev/null +++ b/src/menu/containers/hooks/use-init.js @@ -0,0 +1,8 @@ +import {useMenuContext} from "./use-menu-context"; +import {foodData} from '../../data/food' +import {useEffect} from "react"; + +export const useInit = () => { + const {setData} = useMenuContext() + useEffect(() => setData(() => foodData),[]) +} \ No newline at end of file diff --git a/src/menu/containers/hooks/use-menu-context.js b/src/menu/containers/hooks/use-menu-context.js new file mode 100644 index 0000000..fd1bdd0 --- /dev/null +++ b/src/menu/containers/hooks/use-menu-context.js @@ -0,0 +1,4 @@ +import {useContext} from "react"; +import {MenuContext} from "../context"; + +export const useMenuContext = () => useContext(MenuContext) diff --git a/src/menu/containers/index.jsx b/src/menu/containers/index.jsx new file mode 100644 index 0000000..99488b0 --- /dev/null +++ b/src/menu/containers/index.jsx @@ -0,0 +1,10 @@ +import {MenuContext} from "./context"; +import {useDefaultMenuContext} from "./hooks/use-defaul-menu-context"; +import {InitBehaviour} from "./init-behaviour"; +import {Menu} from "../components/menu"; + +export const FoodMenu = () => + + + + \ No newline at end of file diff --git a/src/menu/data/food.js b/src/menu/data/food.js new file mode 100644 index 0000000..22e99b4 --- /dev/null +++ b/src/menu/data/food.js @@ -0,0 +1,59 @@ +import sandwichImg from '../../core/images/sandwichImg.jpeg' +import burgerImg from '../../core/images/burgerImg.jpeg' +import pizzaImg from '../../core/images/pizzaImg.jpeg' +import brothImg from '../../core/images/brothImg.jpeg' +import desertImg from '../../core/images/desertImg.jpeg' +import sodaImg from '../../core/images/sodaImg.jpeg' + +export const foodData = [ + { + id:1, + name: "Sandwich", + img: sandwichImg, + alt: 'sandwich image', + path: 'sandwiches', + description: 'Aici poti gasi toate tipurile de sandwich-uri' + }, + { + id:2, + name: "Burger", + img: burgerImg, + alt: 'burger image', + path: 'burgers', + description: 'Aici poti gasi toate tipurile de burgeri' + }, + { + id:3, + name: "Pizza", + img: pizzaImg, + alt: 'pizza image', + path: 'pizzas', + description: 'Aici poti gasi toate tipurile de pizza' + }, + { + id:4, + name: "Ciorba", + img: brothImg, + alt: 'broth image', + path: 'broths', + description: 'Aici poti gasi toate tipurile de ciorbe' + }, + { + id:5, + name: "Desert", + img: desertImg, + alt: 'desert image', + path: 'deserts', + description: 'Aici poti gasi toate tipurile de deserturi' + }, + { + id:6, + name: "Racoritoare", + img: sodaImg, + alt: 'soda image', + path: 'sodas', + description: 'Aici poti gasi toate tipurile de sucuri' + }, +] + + \ No newline at end of file From fdd3c4da63a95f308623c3ca818a3c889cf63994 Mon Sep 17 00:00:00 2001 From: floare Date: Mon, 1 Mar 2021 12:16:02 +0200 Subject: [PATCH 06/41] [react-restaurant] Added sandwich page --- .../components/sandwich-menu.jsx | 70 +++++++++++ src/sandwich-menu/containers/context.js | 3 + src/sandwich-menu/containers/details/body.jsx | 17 +++ .../details/food-details/food-details.jsx | 6 + .../ingredient-details/ingredient-details.jsx | 6 + .../containers/details/title.jsx | 15 +++ .../hooks/use-default-sandwich-menu.js | 7 ++ .../containers/hooks/use-init.js | 7 ++ .../containers/hooks/use-on-add-cart.js | 13 ++ .../containers/hooks/use-sandwich-context.js | 4 + src/sandwich-menu/containers/index.jsx | 9 ++ .../containers/init-behaviour.js | 6 + .../containers/table-columns.jsx | 68 +++++++++++ src/sandwich-menu/data/sandwich-data.js | 111 ++++++++++++++++++ 14 files changed, 342 insertions(+) create mode 100644 src/sandwich-menu/components/sandwich-menu.jsx create mode 100644 src/sandwich-menu/containers/context.js create mode 100644 src/sandwich-menu/containers/details/body.jsx create mode 100644 src/sandwich-menu/containers/details/food-details/food-details.jsx create mode 100644 src/sandwich-menu/containers/details/food-details/ingredient-details/ingredient-details.jsx create mode 100644 src/sandwich-menu/containers/details/title.jsx create mode 100644 src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js create mode 100644 src/sandwich-menu/containers/hooks/use-init.js create mode 100644 src/sandwich-menu/containers/hooks/use-on-add-cart.js create mode 100644 src/sandwich-menu/containers/hooks/use-sandwich-context.js create mode 100644 src/sandwich-menu/containers/index.jsx create mode 100644 src/sandwich-menu/containers/init-behaviour.js create mode 100644 src/sandwich-menu/containers/table-columns.jsx create mode 100644 src/sandwich-menu/data/sandwich-data.js diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx new file mode 100644 index 0000000..aaef628 --- /dev/null +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -0,0 +1,70 @@ +import MUIDataTable from 'mui-datatables' +import React, {useEffect, useState} from "react"; +import {Box, Grid, Toolbar, Badge, IconButton} from "@material-ui/core"; +import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; +import 'bootstrap/dist/css/bootstrap-grid.css.map' +import {useOnAddCart} from "../containers/hooks/use-on-add-cart"; +import {Title} from "../containers/details/title" +import {ShowDetails} from "../containers/details/body"; +import {columns} from "../containers/table-columns"; +import {useDispatch, useSelector} from "react-redux"; +import {getAllSandwiches} from "../actions"; + +export const Menu = () => { + + const [selected, setSelected] = useState([]); + const dispatch = useDispatch() + useEffect(() => dispatch(getAllSandwiches()),[]) + const data = useSelector(selector) + const onClick = useOnAddCart(selected,setSelected, selector); + + const options = { + filterType: 'dropdown', + viewColumns:false, + filter: false, + print:false, + rowsSelected: selected, + download:false, + textLabels:{ + selectedRows : { + text: "produs(e) selectat(e)" + } + }, + selectableRowsOnClick: true, + selectableRowsHeader: false, + onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), + expandableRows: true, + customToolbarSelect: () => + +
Adauga in cos
+ + + + + + + +
, + renderExpandableRow: (rowData, rowMeta) => <> + + <ShowDetails value={data[rowMeta.dataIndex].ingredients}/> + </>, + + }; + + return <Box mt={5} mr={2}> + <Grid container direction='row' justify='center' spacing={2}> + <MUIDataTable + columns={columns} + data={data} + options={options} + title={'Sandwiches'} + /> + </Grid> + </Box> +} + +const selector = ({ sandwichMenuReducer }) => { + console.log(sandwichMenuReducer) + return sandwichMenuReducer.items; +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/context.js b/src/sandwich-menu/containers/context.js new file mode 100644 index 0000000..703a358 --- /dev/null +++ b/src/sandwich-menu/containers/context.js @@ -0,0 +1,3 @@ +import {createContext} from "react"; + +export const SandwichContext = createContext({}) \ No newline at end of file diff --git a/src/sandwich-menu/containers/details/body.jsx b/src/sandwich-menu/containers/details/body.jsx new file mode 100644 index 0000000..7ccc4de --- /dev/null +++ b/src/sandwich-menu/containers/details/body.jsx @@ -0,0 +1,17 @@ +import {Box, Grid, TableCell, TableRow} from "@material-ui/core"; +import React from "react"; +import {FoodDetails} from "../details/food-details/food-details" + +export const ShowDetails = (value) => { + const ingredients= value.value; + + return <TableRow> + <TableCell colSpan={5}> + <Box ml={15}> + <Grid container direction='row' justify='space-between' spacing={2}> + <FoodDetails ingredients={ingredients}/> + </Grid> + </Box> + </TableCell> +</TableRow> +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/details/food-details/food-details.jsx b/src/sandwich-menu/containers/details/food-details/food-details.jsx new file mode 100644 index 0000000..0e07d96 --- /dev/null +++ b/src/sandwich-menu/containers/details/food-details/food-details.jsx @@ -0,0 +1,6 @@ +import React from "react"; +import {IngredientDetails} from "./ingredient-details/ingredient-details"; + +export const FoodDetails = ({ingredients}) => + Object.entries(ingredients).map(([key, value]) => <IngredientDetails foodType={value} />) + diff --git a/src/sandwich-menu/containers/details/food-details/ingredient-details/ingredient-details.jsx b/src/sandwich-menu/containers/details/food-details/ingredient-details/ingredient-details.jsx new file mode 100644 index 0000000..1d782a7 --- /dev/null +++ b/src/sandwich-menu/containers/details/food-details/ingredient-details/ingredient-details.jsx @@ -0,0 +1,6 @@ +import {Grid} from "@material-ui/core"; +import React from "react"; + +export const IngredientDetails = ({foodType}) => <Grid item xs={12} sm={4} md={12} lg={5}> + Contine : {foodType.name} {foodType.weight} +</Grid> \ No newline at end of file diff --git a/src/sandwich-menu/containers/details/title.jsx b/src/sandwich-menu/containers/details/title.jsx new file mode 100644 index 0000000..1b2512c --- /dev/null +++ b/src/sandwich-menu/containers/details/title.jsx @@ -0,0 +1,15 @@ +import {Box, TableCell, TableRow, Typography} from "@material-ui/core"; +import { Details as DetailsIcon } from '@material-ui/icons' +import React from "react"; + +export const Title = () => <TableRow> + <TableCell colSpan={5}> + <Box align={'center'} pb={2}> + <Typography variant={'h2'}> + <DetailsIcon fontSize={'inherit'} color={'action'} /> + </Typography> + <Typography variant={'h5'}>Detalii despre ingrediente</Typography> + <Typography color={'textSecondary'}>Toate ingredientele folosite in sandwich-ul selectat</Typography> + </Box> + </TableCell> +</TableRow> \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js new file mode 100644 index 0000000..568c457 --- /dev/null +++ b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js @@ -0,0 +1,7 @@ +import {useState} from "react"; + +export const useDefaultSandwichMenu = () => { + const [data, setData] = useState([]) + const [shoppingCartData, setShoppingCartData] = useState([]) + return {data, setData , shoppingCartData, setShoppingCartData} +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-init.js b/src/sandwich-menu/containers/hooks/use-init.js new file mode 100644 index 0000000..be3d7b0 --- /dev/null +++ b/src/sandwich-menu/containers/hooks/use-init.js @@ -0,0 +1,7 @@ +import {useSandwichContext} from "./use-sandwich-context"; +import {useEffect} from "react"; + +export const useInit = () =>{ + const {setData} = useSandwichContext(); + useEffect(() => setData(() => []),[]) +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-on-add-cart.js b/src/sandwich-menu/containers/hooks/use-on-add-cart.js new file mode 100644 index 0000000..db05aa4 --- /dev/null +++ b/src/sandwich-menu/containers/hooks/use-on-add-cart.js @@ -0,0 +1,13 @@ +import {useDispatch, useSelector} from "react-redux"; +import {addItemToShoppingCart} from "../../../shopping-cart/actions" + +export const useOnAddCart = (selected, setSelected, selector) => { + const dispatch = useDispatch() + const data = useSelector(selector) + const shoppingCartData = selected.map(selectIndex => data[selectIndex]) + + return () => { + dispatch(addItemToShoppingCart(shoppingCartData)) + setSelected([]) + } +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-sandwich-context.js b/src/sandwich-menu/containers/hooks/use-sandwich-context.js new file mode 100644 index 0000000..32674ec --- /dev/null +++ b/src/sandwich-menu/containers/hooks/use-sandwich-context.js @@ -0,0 +1,4 @@ +import {useContext} from "react"; +import {SandwichContext} from "../context"; + +export const useSandwichContext = () => useContext(SandwichContext) \ No newline at end of file diff --git a/src/sandwich-menu/containers/index.jsx b/src/sandwich-menu/containers/index.jsx new file mode 100644 index 0000000..7edf7d1 --- /dev/null +++ b/src/sandwich-menu/containers/index.jsx @@ -0,0 +1,9 @@ +import {Menu} from "../components/sandwich-menu"; +import {useDefaultSandwichMenu} from "./hooks/use-default-sandwich-menu"; +import {InitBehaviour} from "./init-behaviour"; +import {SandwichContext} from "./context"; + +export const SandwichMenu = () => <SandwichContext.Provider value={useDefaultSandwichMenu()}> + <InitBehaviour /> + <Menu /> +</SandwichContext.Provider> \ No newline at end of file diff --git a/src/sandwich-menu/containers/init-behaviour.js b/src/sandwich-menu/containers/init-behaviour.js new file mode 100644 index 0000000..bb7711e --- /dev/null +++ b/src/sandwich-menu/containers/init-behaviour.js @@ -0,0 +1,6 @@ +import {useInit} from "./hooks/use-init"; + +export const InitBehaviour = () => { + useInit() + return '' +} \ No newline at end of file diff --git a/src/sandwich-menu/containers/table-columns.jsx b/src/sandwich-menu/containers/table-columns.jsx new file mode 100644 index 0000000..768bf53 --- /dev/null +++ b/src/sandwich-menu/containers/table-columns.jsx @@ -0,0 +1,68 @@ +import {Grid, Hidden} from "@material-ui/core"; +import React from "react"; + +export const columns=[ + { + name: 'img', + label: 'Poza', + options: { + filter: false, + sort: false, + customBodyRender: (rowData, currentTableData) => + <Grid item xs={12} sm={12} md={10} lg={10}> + <img className={'Images'} src={rowData} alt={currentTableData[4]} /> + </Grid> + } + }, + { + name: 'id', + label: 'Id', + options: { + filter:true, + sort: true, + display: false + }, + }, + { + name: 'name', + label: 'Denumire', + options: { + filter:true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + }, + + }, + { + name: 'price', + label: 'Pret', + options: { + filter:true, + sort: true, + customBodyRender: (rowData) => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData} $</Grid> + } + }, + { + name: 'alt', + label: 'Alt', + options: { + filter:true, + sort: true, + display: false + }, + + }, + { + name: 'description', + label: 'Descriere', + options: { + filter:true, + sort: true, + empty: true, + customBodyRender: rowData => <Hidden smDown> + <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + </Hidden>, + }, + + }, +] \ No newline at end of file diff --git a/src/sandwich-menu/data/sandwich-data.js b/src/sandwich-menu/data/sandwich-data.js new file mode 100644 index 0000000..8211290 --- /dev/null +++ b/src/sandwich-menu/data/sandwich-data.js @@ -0,0 +1,111 @@ +import funnySandwich from "../../core/images/funnySandwich.jpeg" +import crazySandwich from "../../core/images/crazySandwich.jpeg" +import uglySandwich from "../../core/images/uglySandwich.jpeg" +import fancySandwich from "../../core/images/fancySandiwch.jpeg" + +export const sandwichData = [ + { + id : 1, + name : 'Funny sandwich', + price : 12.00, + img : funnySandwich, + alt: 'funny sandwich', + description:'A sandwich with good jokes inside', + ingredients: { + meat: { + name: "Bacon", + weight: '150 gr' + }, + cheese: { + name: "Mozzarela", + weight: '20 gr' + }, + salad:{ + name: 'Rosii', + weight: '5 gr', + }, + extra: { + name: "Weed", + weight: '1 gr' + }, + } + }, + { + id: 2, + name: 'Crazy sandwich', + price: 14.00, + img: crazySandwich, + alt: 'crazy sandwich', + description: 'A sandwich with some shady stuff', + ingredients: { + meat: { + name: "Pork", + weight: '150 gr' + }, + cheese: { + name: "Cream Cheese", + weight: '30 gr' + }, + salad: { + name: 'Castraveti', + weight: '5 gr', + }, + extra: { + name: "Jalapeno", + weight: '5 gr' + }, + }, + }, + { + id : 3, + name : 'Ugly sandwich', + price : 10.00, + img : uglySandwich, + alt : 'ugly sandwich', + description:'A sandwich with low self-esteem', + ingredients: { + meat: { + name: "Parizel", + weight: '150 gr' + }, + cheese: { + name: "Branza de oaie", + weight: '30 gr' + }, + salad: { + name: 'Salata', + weight: '5 gr', + }, + extra: { + name: "Ceapa", + weight: '5 gr' + }, + }, + }, + { + id : 4, + name : 'Fancy sandwich', + price : 15.00, + img : fancySandwich, + alt : 'fancy sandwich', + description:'A sandwich with good manners and good looks', + ingredients: { + meat: { + name: "Black angus", + weight: '150 gr' + }, + cheese: { + name: "Feta", + weight: '30 gr' + }, + salad: { + name: 'Varza', + weight: '5 gr', + }, + extra: { + name: "Aur", + weight: '5 gr' + }, + }, + }, +] \ No newline at end of file From 9c1325c3bfe39876cec80ae149586767885482ee Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 12:16:53 +0200 Subject: [PATCH 07/41] [react-restaurant] Added shopping-cart page --- .../components/shopping-cart.jsx | 61 +++++++++++++++++++ .../hooks/use-delete-selected-rows.js | 14 +++++ .../containers/hooks/use-set-total-price.js | 7 +++ .../payment-details/body/payment-body.jsx | 6 ++ .../payment-details/payment-details.jsx | 17 ++++++ .../subtitle/payment-subtitle.jsx | 6 ++ .../payment-details/title/payment-title.jsx | 6 ++ .../containers/table-columns.jsx | 46 ++++++++++++++ 8 files changed, 163 insertions(+) create mode 100644 src/shopping-cart/components/shopping-cart.jsx create mode 100644 src/shopping-cart/containers/hooks/use-delete-selected-rows.js create mode 100644 src/shopping-cart/containers/hooks/use-set-total-price.js create mode 100644 src/shopping-cart/containers/payment-details/body/payment-body.jsx create mode 100644 src/shopping-cart/containers/payment-details/payment-details.jsx create mode 100644 src/shopping-cart/containers/payment-details/subtitle/payment-subtitle.jsx create mode 100644 src/shopping-cart/containers/payment-details/title/payment-title.jsx create mode 100644 src/shopping-cart/containers/table-columns.jsx diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx new file mode 100644 index 0000000..265959a --- /dev/null +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -0,0 +1,61 @@ +import {Badge, Box, IconButton, Toolbar} from "@material-ui/core"; +import React, {useState} from "react"; +import MUIDataTable from 'mui-datatables' +import {useSetTotalPrice} from "../containers/hooks/use-set-total-price"; +import DeleteIcon from "@material-ui/icons/Delete"; +import {useDeleteSelectedRows} from "../containers/hooks/use-delete-selected-rows"; +import {columns} from "../containers/table-columns"; +import {PaymentDetails} from "../containers/payment-details/payment-details"; +import {useSelector} from "react-redux"; + +export const ShoppingCart = () => { + const shoppingCartData = useSelector(selector) + const [selected,setSelected] = useState([]); + const totalPrice = useSetTotalPrice(shoppingCartData); + const onClick = useDeleteSelectedRows(selected, selector, setSelected); + + const options = { + filterType: 'dropdown', + viewColumns: false, + filter: false, + print: false, + rowsSelected: selected, + selectableRowsOnClick: true, + download: false, + pagination:false, + search: false, + textLabels:{ + selectedRows : { + text: "produs(e) selectat(e)" + }, + body:{ + noMatch: "Nici un produs" + } + }, + onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), + customToolbarSelect: () => + <Toolbar> + <div>Sterge produs(e)</div> + <Box mr={5}> + <IconButton onClick={onClick}> + <Badge badgeContent={selected.length} color='secondary'> + <DeleteIcon /> + </Badge> + </IconButton> + </Box> + </Toolbar>, + } + return <Box m={5}> + <MUIDataTable + data={shoppingCartData} + columns={columns} + options={options} + title={'ShoppingCart'} + /> + <PaymentDetails totalPrice={totalPrice} /> + </Box> +} + +const selector = ({ shoppingCartReducer }) => { + return shoppingCartReducer.items; +} \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js new file mode 100644 index 0000000..c2b4da3 --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js @@ -0,0 +1,14 @@ +import {useDispatch, useSelector} from "react-redux"; +import {removeItemFromShoppingCart} from "../../actions"; + +export const useDeleteSelectedRows = (selected, selector, setSelected) => +{ + const shoppingCartData = useSelector(selector) + const dispatch = useDispatch() + const itemsToDelete = selected.map(item => shoppingCartData[item]) + + return () => { + dispatch(removeItemFromShoppingCart(itemsToDelete)) + setSelected([]) + } +} \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-set-total-price.js b/src/shopping-cart/containers/hooks/use-set-total-price.js new file mode 100644 index 0000000..9035529 --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-set-total-price.js @@ -0,0 +1,7 @@ +export const useSetTotalPrice = (shoppingCartData) => +{ + let totalPrice=0 + shoppingCartData.map(item => totalPrice+= item.price) + + return totalPrice; +} \ No newline at end of file diff --git a/src/shopping-cart/containers/payment-details/body/payment-body.jsx b/src/shopping-cart/containers/payment-details/body/payment-body.jsx new file mode 100644 index 0000000..d0bf7e1 --- /dev/null +++ b/src/shopping-cart/containers/payment-details/body/payment-body.jsx @@ -0,0 +1,6 @@ +import {Typography} from "@material-ui/core"; +import React from "react"; + +export const PaymentBody = ({text}) =><Typography variant="body2" color="textSecondary" align='center'> + {text} +</Typography> \ No newline at end of file diff --git a/src/shopping-cart/containers/payment-details/payment-details.jsx b/src/shopping-cart/containers/payment-details/payment-details.jsx new file mode 100644 index 0000000..59c80e9 --- /dev/null +++ b/src/shopping-cart/containers/payment-details/payment-details.jsx @@ -0,0 +1,17 @@ +import {Box, Card, CardContent} from "@material-ui/core"; +import React from "react"; +import {PaymentTitle} from "./title/payment-title"; +import {PaymentBody} from "./body/payment-body"; +import {PaymentSubTitle} from "./subtitle/payment-subtitle"; + + +export const PaymentDetails = ({totalPrice}) =><Box mt={5}> + <Card> + <CardContent> + <PaymentTitle text={'Detalii plata'}/> + <PaymentBody text={`Pret produse: ${totalPrice} $`} /> + <PaymentBody text={'Pret transport: 5 $'} /> + <PaymentSubTitle text={` Pret total: ${totalPrice+5} $`} /> + </CardContent> + </Card> +</Box> \ No newline at end of file diff --git a/src/shopping-cart/containers/payment-details/subtitle/payment-subtitle.jsx b/src/shopping-cart/containers/payment-details/subtitle/payment-subtitle.jsx new file mode 100644 index 0000000..e1866c9 --- /dev/null +++ b/src/shopping-cart/containers/payment-details/subtitle/payment-subtitle.jsx @@ -0,0 +1,6 @@ +import {Typography} from "@material-ui/core"; +import React from "react"; + +export const PaymentSubTitle = ({text}) =><Typography variant="h5" align='center'> + {text} +</Typography> \ No newline at end of file diff --git a/src/shopping-cart/containers/payment-details/title/payment-title.jsx b/src/shopping-cart/containers/payment-details/title/payment-title.jsx new file mode 100644 index 0000000..3fa7de3 --- /dev/null +++ b/src/shopping-cart/containers/payment-details/title/payment-title.jsx @@ -0,0 +1,6 @@ +import {Typography} from "@material-ui/core"; +import React from "react"; + +export const PaymentTitle = ({text}) =><Typography variant='h4' align='center'> + {text} +</Typography> \ No newline at end of file diff --git a/src/shopping-cart/containers/table-columns.jsx b/src/shopping-cart/containers/table-columns.jsx new file mode 100644 index 0000000..633bd11 --- /dev/null +++ b/src/shopping-cart/containers/table-columns.jsx @@ -0,0 +1,46 @@ +import {Grid, Hidden} from "@material-ui/core"; +import React from "react"; + +export const columns =[ + { + name: 'id', + label: 'Id', + options: { + filter:false, + sort: false, + display: true + }, + }, + { + name: 'name', + label: 'Denumire', + options: { + filter: true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + }, + }, + { + name: 'description', + label: 'Descriere', + options: { + filter:true, + sort: true, + empty: true, + customBodyRender: rowData => <Hidden smDown='true'> + <Grid item xs={12} sm={12} md={10} lg={10}> + {rowData} + </Grid> + </Hidden>, + }, + }, + { + name: 'price', + label: 'Pret', + options: { + filter:true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData} $</Grid> + }, + }, +] \ No newline at end of file From 6ca53914370830bd509a2724842b609fa9ac0602 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 12:17:20 +0200 Subject: [PATCH 08/41] [react-restaurant] Added redux --- src/core/store/store.js | 4 ++++ src/sandwich-menu/actions/get-all-sandwiches.js | 3 +++ src/sandwich-menu/actions/index.js | 1 + src/sandwich-menu/reducers/sandwich-menu.js | 15 +++++++++++++++ .../actions/add-item-to-shopping-cart.js | 7 +++++++ src/shopping-cart/actions/index.js | 1 + src/shopping-cart/reducers/shopping-cart.js | 14 ++++++++++++++ src/startup/reducers/index.js | 7 +++++++ 8 files changed, 52 insertions(+) create mode 100644 src/core/store/store.js create mode 100644 src/sandwich-menu/actions/get-all-sandwiches.js create mode 100644 src/sandwich-menu/actions/index.js create mode 100644 src/sandwich-menu/reducers/sandwich-menu.js create mode 100644 src/shopping-cart/actions/add-item-to-shopping-cart.js create mode 100644 src/shopping-cart/actions/index.js create mode 100644 src/shopping-cart/reducers/shopping-cart.js create mode 100644 src/startup/reducers/index.js diff --git a/src/core/store/store.js b/src/core/store/store.js new file mode 100644 index 0000000..d88bca4 --- /dev/null +++ b/src/core/store/store.js @@ -0,0 +1,4 @@ +import {createStore} from "redux"; +import {rootReducers} from "../../startup/reducers/index"; + +export const store = createStore(rootReducers); \ No newline at end of file diff --git a/src/sandwich-menu/actions/get-all-sandwiches.js b/src/sandwich-menu/actions/get-all-sandwiches.js new file mode 100644 index 0000000..eb4c1d6 --- /dev/null +++ b/src/sandwich-menu/actions/get-all-sandwiches.js @@ -0,0 +1,3 @@ +export const GET_ALL_SANDWICHES = 'GET_ALL_SANDWICHES' + +export const getAllSandwiches = () => ({type: GET_ALL_SANDWICHES}) \ No newline at end of file diff --git a/src/sandwich-menu/actions/index.js b/src/sandwich-menu/actions/index.js new file mode 100644 index 0000000..17c9d74 --- /dev/null +++ b/src/sandwich-menu/actions/index.js @@ -0,0 +1 @@ +export * from './get-all-sandwiches' \ No newline at end of file diff --git a/src/sandwich-menu/reducers/sandwich-menu.js b/src/sandwich-menu/reducers/sandwich-menu.js new file mode 100644 index 0000000..ecfeb97 --- /dev/null +++ b/src/sandwich-menu/reducers/sandwich-menu.js @@ -0,0 +1,15 @@ +import {sandwichData} from "../data/sandwich-data"; + +const initialState = { + items: [] +} + +export const sandwichMenuReducer = (state = initialState, action) =>{ + switch (action.type){ + case 'GET_ALL_SANDWICHES': + return {...state, items: sandwichData}; + default: + return state; + } + +} \ No newline at end of file diff --git a/src/shopping-cart/actions/add-item-to-shopping-cart.js b/src/shopping-cart/actions/add-item-to-shopping-cart.js new file mode 100644 index 0000000..b1215ea --- /dev/null +++ b/src/shopping-cart/actions/add-item-to-shopping-cart.js @@ -0,0 +1,7 @@ +export const ADD_ITEM_TO_SHOPPING_CART = 'ADD_ITEM_TO_SHOPPING_CART' +export const REMOVE_ITEM_FROM_SHOPPING_CART = 'REMOVE_ITEM_FROM_SHOPPING_CART' + + +export const addItemToShoppingCart = item => ({type: ADD_ITEM_TO_SHOPPING_CART, payload: item}) +export const removeItemFromShoppingCart = remainingItems => + ({type: REMOVE_ITEM_FROM_SHOPPING_CART, payload: remainingItems}) \ No newline at end of file diff --git a/src/shopping-cart/actions/index.js b/src/shopping-cart/actions/index.js new file mode 100644 index 0000000..6bfe3cf --- /dev/null +++ b/src/shopping-cart/actions/index.js @@ -0,0 +1 @@ +export * from "./add-item-to-shopping-cart" \ No newline at end of file diff --git a/src/shopping-cart/reducers/shopping-cart.js b/src/shopping-cart/reducers/shopping-cart.js new file mode 100644 index 0000000..484f259 --- /dev/null +++ b/src/shopping-cart/reducers/shopping-cart.js @@ -0,0 +1,14 @@ +const initialState = { + items: [] +} + +export const shoppingCartReducer = (state = initialState, action) =>{ + switch (action.type){ + case 'ADD_ITEM_TO_SHOPPING_CART': + return {...state , items: [...state.items, ...action.payload]} + case 'REMOVE_ITEM_FROM_SHOPPING_CART': + return {...state, items: state.items.filter(item => !action.payload.includes(item))} + default: + return state; + } +} \ No newline at end of file diff --git a/src/startup/reducers/index.js b/src/startup/reducers/index.js new file mode 100644 index 0000000..69dbd0c --- /dev/null +++ b/src/startup/reducers/index.js @@ -0,0 +1,7 @@ +import {combineReducers} from "redux"; +import {shoppingCartReducer} from "../../shopping-cart/reducers/shopping-cart"; +import {sandwichMenuReducer} from "../../sandwich-menu/reducers/sandwich-menu"; + +export const rootReducers = combineReducers({ + shoppingCartReducer, sandwichMenuReducer +}) \ No newline at end of file From 99813cbed778f791b4752c169c5cf73e5afb46c2 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 12:17:37 +0200 Subject: [PATCH 09/41] [react-restaurant] Added init-behaviour menu page --- src/menu/containers/init-behaviour.js | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/menu/containers/init-behaviour.js diff --git a/src/menu/containers/init-behaviour.js b/src/menu/containers/init-behaviour.js new file mode 100644 index 0000000..bb7711e --- /dev/null +++ b/src/menu/containers/init-behaviour.js @@ -0,0 +1,6 @@ +import {useInit} from "./hooks/use-init"; + +export const InitBehaviour = () => { + useInit() + return '' +} \ No newline at end of file From d96c6cb56272a402faa78492ff52f50b162bcbff Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 12:17:52 +0200 Subject: [PATCH 10/41] [react-restaurant] Updated package.json --- package-lock.json | 874 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 14 + 2 files changed, 888 insertions(+) diff --git a/package-lock.json b/package-lock.json index f7b13db..1c8085a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1125,6 +1125,12 @@ "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "dev": true + }, "@eslint/eslintrc": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", @@ -1729,6 +1735,88 @@ } } }, + "@material-ui/core": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.11.3.tgz", + "integrity": "sha512-Adt40rGW6Uds+cAyk3pVgcErpzU/qxc7KBR94jFHBYretU4AtWZltYcNsbeMn9tXL86jjVL1kuGcIHsgLgFGRw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "@material-ui/styles": "^4.11.3", + "@material-ui/system": "^4.11.3", + "@material-ui/types": "^5.1.0", + "@material-ui/utils": "^4.11.2", + "@types/react-transition-group": "^4.2.0", + "clsx": "^1.0.4", + "hoist-non-react-statics": "^3.3.2", + "popper.js": "1.16.1-lts", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0", + "react-transition-group": "^4.4.0" + } + }, + "@material-ui/icons": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.2.tgz", + "integrity": "sha512-fQNsKX2TxBmqIGJCSi3tGTO/gZ+eJgWmMJkgDiOfyNaunNaxcklJQFaFogYcFl0qFuaEz1qaXYXboa/bUXVSOQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4" + } + }, + "@material-ui/styles": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.3.tgz", + "integrity": "sha512-HzVzCG+PpgUGMUYEJ2rTEmQYeonGh41BYfILNFb/1ueqma+p1meSdu4RX6NjxYBMhf7k+jgfHFTTz+L1SXL/Zg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "@emotion/hash": "^0.8.0", + "@material-ui/types": "^5.1.0", + "@material-ui/utils": "^4.11.2", + "clsx": "^1.0.4", + "csstype": "^2.5.2", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.5.1", + "jss-plugin-camel-case": "^10.5.1", + "jss-plugin-default-unit": "^10.5.1", + "jss-plugin-global": "^10.5.1", + "jss-plugin-nested": "^10.5.1", + "jss-plugin-props-sort": "^10.5.1", + "jss-plugin-rule-value-function": "^10.5.1", + "jss-plugin-vendor-prefixer": "^10.5.1", + "prop-types": "^15.7.2" + } + }, + "@material-ui/system": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.11.3.tgz", + "integrity": "sha512-SY7otguNGol41Mu2Sg6KbBP1ZRFIbFLHGK81y4KYbsV2yIcaEPOmsCK6zwWlp+2yTV3J/VwT6oSBARtGIVdXPw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "@material-ui/utils": "^4.11.2", + "csstype": "^2.5.2", + "prop-types": "^15.7.2" + } + }, + "@material-ui/types": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", + "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "dev": true + }, + "@material-ui/utils": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.2.tgz", + "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0" + } + }, "@nodelib/fs.scandir": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", @@ -1788,6 +1876,46 @@ } } }, + "@popperjs/core": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.8.4.tgz", + "integrity": "sha512-h0lY7g36rhjNV8KVHKS3/BEOgfsxu0AiRI8+ry5IFBGEsQFkpjxtcpVc9ndN8zrKUeMZXAWMc7eQMepfgykpxQ==", + "dev": true + }, + "@react-dnd/asap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-4.0.0.tgz", + "integrity": "sha512-0XhqJSc6pPoNnf8DhdsPHtUhRzZALVzYMTzRwV4VI6DJNJ/5xxfL9OQUwb8IH5/2x7lSf7nAZrnzUD+16VyOVQ==", + "dev": true + }, + "@react-dnd/invariant": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-2.0.0.tgz", + "integrity": "sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw==", + "dev": true + }, + "@react-dnd/shallowequal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz", + "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg==", + "dev": true + }, + "@restart/context": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz", + "integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==", + "dev": true + }, + "@restart/hooks": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.26.tgz", + "integrity": "sha512-7Hwk2ZMYm+JLWcb7R9qIXk1OoUg1Z+saKWqZXlrvFwT3w6UArVNWgxYOzf+PJoK9zZejp8okPAKTctthhXLt5g==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "lodash-es": "^4.17.20" + } + }, "@rollup/plugin-node-resolve": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", @@ -2168,6 +2296,12 @@ "@babel/types": "^7.3.0" } }, + "@types/classnames": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.11.tgz", + "integrity": "sha512-2koNhpWm3DgWRp5tpkiJ8JGc1xTn2q0l+jUNUE7oMKXUf5NpI9AIdC4kbjGNFBdHtcxBD18LAksoudAVhFKCjw==", + "dev": true + }, "@types/eslint": { "version": "7.2.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", @@ -2199,11 +2333,27 @@ "@types/node": "*" } }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dev": true, + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/html-minifier-terser": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" }, + "@types/invariant": { + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz", + "integrity": "sha512-lYUtmJ9BqUN688fGY1U1HZoWT1/Jrmgigx2loq4ZcJpICECm/Om3V314BxdzypO0u5PORKGMM6x0OXaljV1YFg==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", @@ -2244,6 +2394,12 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" }, + "@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -2269,11 +2425,44 @@ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.1.tgz", "integrity": "sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw==" }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true + }, "@types/q": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" }, + "@types/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.2.tgz", + "integrity": "sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==", + "dev": true + } + } + }, + "@types/react-transition-group": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.1.tgz", + "integrity": "sha512-vIo69qKKcYoJ8wKCJjwSgCTM+z3chw3g18dkrDfVX665tMH7tmbDxEAnPdey4gTlwZz5QuHGzd+hul0OVZDqqQ==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, "@types/resolve": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", @@ -2320,6 +2509,12 @@ } } }, + "@types/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=", + "dev": true + }, "@types/webpack": { "version": "4.41.26", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", @@ -3965,6 +4160,12 @@ } } }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true + }, "clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", @@ -3995,6 +4196,12 @@ "wrap-ansi": "^6.2.0" } }, + "clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "dev": true + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -4508,6 +4715,16 @@ } } }, + "css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, "css-what": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", @@ -4684,6 +4901,12 @@ } } }, + "csstype": { + "version": "2.6.15", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.15.tgz", + "integrity": "sha512-FNeiVKudquehtR3t9TRRnsHL+lJhuHF5Zn9dt01jpojlurLEPDhhEtUkWmAUJ7/fOLaLG4dCDEnUsR0N1rZSsg==", + "dev": true + }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", @@ -4970,6 +5193,17 @@ "path-type": "^4.0.0" } }, + "dnd-core": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-11.1.3.tgz", + "integrity": "sha512-QugF55dNW+h+vzxVJ/LSJeTeUw9MCJ2cllhmVThVPEtF16ooBkxj0WBE5RB+AceFxMFo1rO6bJKXtqKl+JNnyA==", + "dev": true, + "requires": { + "@react-dnd/asap": "^4.0.0", + "@react-dnd/invariant": "^2.0.0", + "redux": "^4.0.4" + } + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -5013,6 +5247,24 @@ "utila": "~0.4" } }, + "dom-helpers": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", + "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==", + "dev": true + } + } + }, "dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", @@ -6668,6 +6920,56 @@ } } }, + "frontend-collective-react-dnd-scrollzone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/frontend-collective-react-dnd-scrollzone/-/frontend-collective-react-dnd-scrollzone-1.0.2.tgz", + "integrity": "sha512-me/D9PZJq9j/sjEjs/OPmm6V6nbaHbhgeQiwrWu0t35lhwAOKWc+QBzzKKcZQeboYTkgE8UvCD9el+5ANp+g5Q==", + "dev": true, + "requires": { + "hoist-non-react-statics": "^3.1.0", + "lodash.throttle": "^4.0.1", + "prop-types": "^15.5.9", + "raf": "^3.2.0", + "react": "^16.3.0", + "react-display-name": "^0.2.0", + "react-dom": "^16.3.0" + }, + "dependencies": { + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -6996,6 +7298,20 @@ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -7006,6 +7322,14 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -7325,6 +7649,12 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==", + "dev": true + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7369,6 +7699,12 @@ "resolved": "https://registry.npmjs.org/immer/-/immer-7.0.9.tgz", "integrity": "sha512-Vs/gxoM4DqNAYR7pugIxi0Xc8XAun/uy7AQu4fLLqaTBHxjOP9pJ266Q9MWA/ly4z6rAFZbvViOtihxUZ7O28A==" }, + "immutable": { + "version": "4.0.0-rc.12", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.12.tgz", + "integrity": "sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==", + "dev": true + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -7425,6 +7761,15 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, + "indefinite-observable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-2.0.1.tgz", + "integrity": "sha512-G8vgmork+6H9S8lUAg1gtXEj2JxIQTo0g2PbFiYOdjkziSI0F7UYBiVwhZRuixhBCNGczAls34+5HJPyZysvxQ==", + "dev": true, + "requires": { + "symbol-observable": "1.2.0" + } + }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -7478,6 +7823,15 @@ "side-channel": "^1.0.4" } }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -7655,6 +8009,12 @@ "is-extglob": "^2.1.1" } }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=", + "dev": true + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -9463,6 +9823,101 @@ "verror": "1.10.0" } }, + "jss": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.5.1.tgz", + "integrity": "sha512-hbbO3+FOTqVdd7ZUoTiwpHzKXIo5vGpMNbuXH1a0wubRSWLWSBvwvaq4CiHH/U42CmjOnp6lVNNs/l+Z7ZdDmg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "indefinite-observable": "^2.0.1", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==", + "dev": true + } + } + }, + "jss-plugin-camel-case": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.5.1.tgz", + "integrity": "sha512-9+oymA7wPtswm+zxVti1qiowC5q7bRdCJNORtns2JUj/QHp2QPXYwSNRD8+D2Cy3/CEMtdJzlNnt5aXmpS6NAg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.5.1" + } + }, + "jss-plugin-default-unit": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.5.1.tgz", + "integrity": "sha512-D48hJBc9Tj3PusvlillHW8Fz0y/QqA7MNmTYDQaSB/7mTrCZjt7AVRROExoOHEtd2qIYKOYJW3Jc2agnvsXRlQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.5.1" + } + }, + "jss-plugin-global": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.5.1.tgz", + "integrity": "sha512-jX4XpNgoaB8yPWw/gA1aPXJEoX0LNpvsROPvxlnYe+SE0JOhuvF7mA6dCkgpXBxfTWKJsno7cDSCgzHTocRjCQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.5.1" + } + }, + "jss-plugin-nested": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.5.1.tgz", + "integrity": "sha512-xXkWKOCljuwHNjSYcXrCxBnjd8eJp90KVFW1rlhvKKRXnEKVD6vdKXYezk2a89uKAHckSvBvBoDGsfZrldWqqQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.5.1", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-props-sort": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.5.1.tgz", + "integrity": "sha512-t+2vcevNmMg4U/jAuxlfjKt46D/jHzCPEjsjLRj/J56CvP7Iy03scsUP58Iw8mVnaV36xAUZH2CmAmAdo8994g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.5.1" + } + }, + "jss-plugin-rule-value-function": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.5.1.tgz", + "integrity": "sha512-3gjrSxsy4ka/lGQsTDY8oYYtkt2esBvQiceGBB4PykXxHoGRz14tbCK31Zc6DHEnIeqsjMUGbq+wEly5UViStQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.5.1", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-vendor-prefixer": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.5.1.tgz", + "integrity": "sha512-cLkH6RaPZWHa1TqSfd2vszNNgxT1W0omlSjAd6hCFHp3KIocSrW21gaHjlMU26JpTHwkc+tJTCQOmE/O1A4FKQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.5.1" + } + }, "jsx-ast-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", @@ -9587,16 +10042,70 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, + "lodash.assignwith": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz", + "integrity": "sha1-EnqX8CrcQXUalU0ksN4X4QDgOOs=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isundefined": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz", + "integrity": "sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -9619,6 +10128,12 @@ "lodash._reinterpolate": "^3.0.0" } }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -9841,6 +10356,15 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, + "mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, "mini-css-extract-plugin": { "version": "0.11.3", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", @@ -10018,6 +10542,30 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "mui-datatables": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/mui-datatables/-/mui-datatables-3.7.6.tgz", + "integrity": "sha512-yfM7NVWdZLRES4lGGVKnHvCZhbL/lo8sGMGaC0iBkc8nDghd49kFZVNxoC7jwivUrZslwDeroHpXCLghUh7f8A==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.12.1", + "clsx": "^1.1.1", + "lodash.assignwith": "^4.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.find": "^4.6.0", + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "lodash.isundefined": "^3.0.1", + "lodash.memoize": "^4.1.2", + "lodash.merge": "^4.6.2", + "prop-types": "^15.7.2", + "react-dnd": "^11.1.3", + "react-dnd-html5-backend": "^11.1.3", + "react-sortable-tree": "^2.7.1", + "react-to-print": "^2.8.0" + } + }, "multicast-dns": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", @@ -10032,6 +10580,12 @@ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, + "nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==", + "dev": true + }, "nanoid": { "version": "3.1.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", @@ -10840,6 +11394,12 @@ "ts-pnp": "^1.1.6" } }, + "popper.js": { + "version": "1.16.1-lts", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz", + "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==", + "dev": true + }, "portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -11972,6 +12532,22 @@ "react-is": "^16.8.1" } }, + "prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "dev": true, + "requires": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + } + }, + "property-expr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz", + "integrity": "sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==", + "dev": true + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -12155,6 +12731,32 @@ "whatwg-fetch": "^3.4.1" } }, + "react-bootstrap": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.5.0.tgz", + "integrity": "sha512-t1o4kP3coj2HIaBepJxGAc7HZ1fWGria/s0Yr9JUmNkCilyrnXtK209qn28vuZ4muhnA0uR0GMMXAMrLsLyiIw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.2", + "@restart/context": "^2.1.4", + "@restart/hooks": "^0.3.21", + "@types/classnames": "^2.2.10", + "@types/invariant": "^2.2.33", + "@types/prop-types": "^15.7.3", + "@types/react": ">=16.9.35", + "@types/react-transition-group": "^4.4.0", + "@types/warning": "^3.0.0", + "classnames": "^2.2.6", + "dom-helpers": "^5.1.2", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "prop-types-extra": "^1.1.0", + "react-overlays": "^4.1.1", + "react-transition-group": "^4.4.1", + "uncontrollable": "^7.0.0", + "warning": "^4.0.3" + } + }, "react-dev-utils": { "version": "11.0.2", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.2.tgz", @@ -12261,6 +12863,33 @@ } } }, + "react-display-name": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", + "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==", + "dev": true + }, + "react-dnd": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz", + "integrity": "sha512-8rtzzT8iwHgdSC89VktwhqdKKtfXaAyC4wiqp0SywpHG12TTLvfOoL6xNEIUWXwIEWu+CFfDn4GZJyynCEuHIQ==", + "dev": true, + "requires": { + "@react-dnd/shallowequal": "^2.0.0", + "@types/hoist-non-react-statics": "^3.3.1", + "dnd-core": "^11.1.3", + "hoist-non-react-statics": "^3.3.0" + } + }, + "react-dnd-html5-backend": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-11.1.3.tgz", + "integrity": "sha512-/1FjNlJbW/ivkUxlxQd7o3trA5DE33QiRZgxent3zKme8DwF4Nbw3OFVhTRFGaYhHFNL1rZt6Rdj1D78BjnNLw==", + "dev": true, + "requires": { + "dnd-core": "^11.1.3" + } + }, "react-dom": { "version": "17.0.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", @@ -12276,16 +12905,133 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" }, + "react-image-resizer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-image-resizer/-/react-image-resizer-1.3.0.tgz", + "integrity": "sha512-JZwNWumImYwPNeaf+MV5wEtUvyPK8crjLYo7AVf3/3LQ92oPwi/Clxmg76f14EQm73cbwxKgXTlJbFOSRGQGtA==", + "dev": true + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-overlays": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-4.1.1.tgz", + "integrity": "sha512-WtJifh081e6M24KnvTQoNjQEpz7HoLxqt8TwZM7LOYIkYJ8i/Ly1Xi7RVte87ZVnmqQ4PFaFiNHZhSINPSpdBQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.1", + "@popperjs/core": "^2.5.3", + "@restart/hooks": "^0.3.25", + "@types/warning": "^3.0.0", + "dom-helpers": "^5.2.0", + "prop-types": "^15.7.2", + "uncontrollable": "^7.0.0", + "warning": "^4.0.3" + } + }, + "react-redux": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.2.tgz", + "integrity": "sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.1", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.13.1" + } + }, "react-refresh": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + } + } + }, "react-scripts": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.2.tgz", @@ -12352,6 +13098,56 @@ "workbox-webpack-plugin": "5.1.4" } }, + "react-sortable-tree": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/react-sortable-tree/-/react-sortable-tree-2.8.0.tgz", + "integrity": "sha512-gTjwxRNt7z0FC76KeNTnGqx1qUSlV3N78mMPRushBpSUXzZYhiFNsWHUIruyPnaAbw4SA7LgpItV7VieAuwDpw==", + "dev": true, + "requires": { + "frontend-collective-react-dnd-scrollzone": "^1.0.2", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.6.1", + "react-dnd": "^11.1.3", + "react-dnd-html5-backend": "^11.1.3", + "react-lifecycles-compat": "^3.0.4", + "react-virtualized": "^9.21.2" + } + }, + "react-to-print": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/react-to-print/-/react-to-print-2.12.3.tgz", + "integrity": "sha512-JpjPh2WDo2nraxgyt5p3kHMMZZDs52uDcgJJi7BbgmE/j3v1RcTtr3s3uvDk82WRjLWggDm1Ro2J9/L9qkH4cQ==", + "dev": true, + "requires": { + "prop-types": "^15.7.2" + } + }, + "react-transition-group": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", + "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "react-virtualized": { + "version": "9.22.3", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.3.tgz", + "integrity": "sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -12467,6 +13263,16 @@ "strip-indent": "^3.0.0" } }, + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -12722,6 +13528,11 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -14101,6 +14912,12 @@ "util.promisify": "~1.0.0" } }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -14378,6 +15195,16 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, "tmpl": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", @@ -14435,6 +15262,12 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=", + "dev": true + }, "tough-cookie": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", @@ -14560,6 +15393,18 @@ "is-typedarray": "^1.0.0" } }, + "uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + } + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -14853,6 +15698,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -14902,6 +15752,15 @@ "makeerror": "1.0.x" } }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -16370,6 +17229,21 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "yup": { + "version": "0.32.9", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.9.tgz", + "integrity": "sha512-Ci1qN+i2H0XpY7syDQ0k5zKQ/DoxO0LzPg8PAR/X4Mpj6DqaeCoIYEEjDJwhArh3Fa7GWbQQVDZKeXYlSH4JMg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.5", + "@types/lodash": "^4.14.165", + "lodash": "^4.17.20", + "lodash-es": "^4.17.15", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + } } } } diff --git a/package.json b/package.json index 6a3faf4..47cab4c 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@testing-library/user-event": "^12.7.1", "react": "^17.0.1", "react-dom": "^17.0.1", + "react-router": "^5.2.0", "react-scripts": "4.0.2", "web-vitals": "^1.1.0" }, @@ -34,5 +35,18 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "@material-ui/core": "^4.11.3", + "@material-ui/icons": "^4.11.2", + "history": "^4.10.1", + "mui-datatables": "^3.7.6", + "react-image-resizer": "^1.3.0", + "react-router-dom": "^5.2.0", + "react-bootstrap": "^1.5.0", + "react-redux": "^7.2.2", + "redux": "^4.0.5", + "yup": "^0.32.9", + "immutable": "^4.0.0-rc.12" } } From 724868701308d0d3c6e8d84bfa52796a2db48f3d Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 12:18:04 +0200 Subject: [PATCH 11/41] [react-restaurant] Updated App.js --- src/App.css | 32 +++++++++++++++++++++++++++++++- src/App.js | 33 ++++++++++++--------------------- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/src/App.css b/src/App.css index 74b5e05..039660f 100644 --- a/src/App.css +++ b/src/App.css @@ -26,8 +26,38 @@ .App-link { color: #61dafb; + text-align: center; + justify-content: center; +} +.FoodTypeLink{ + color: black; + text-align: center; +} +.fullPage{ + padding: 120px 0; + position: relative; + min-height: 65vh; + display:flex!important; + margin:0; + border:0; + color:#FFF; + align-items: center; + background-size: cover; + background-position: center center; + height: 100%; +} +.CardImage{ + height: 180px; + marginLeft: 113px; + paddingLeft: 56.25%; + paddingTop: 56.25%; + marginTop: 10px; + width: 10px; +} +.Images{ + width: 150px; + height: 150px; } - @keyframes App-logo-spin { from { transform: rotate(0deg); diff --git a/src/App.js b/src/App.js index 3784575..1bd4b54 100644 --- a/src/App.js +++ b/src/App.js @@ -1,25 +1,16 @@ -import logo from './logo.svg'; +import {NavBar} from "./core/navbar/navbar"; import './App.css'; +import {Routes} from "./core/routes/routes"; +import {BrowserRouter as Router} from "react-router-dom"; +import {Provider} from 'react-redux' +import {store} from "./core/store/store" -function App() { - return ( - <div className="App"> - <header className="App-header"> - <img src={logo} className="App-logo" alt="logo" /> - <p> - Edit <code>src/App.js</code> and save to reload. - </p> - <a - className="App-link" - href="https://reactjs.org" - target="_blank" - rel="noopener noreferrer" - > - Learn React - </a> - </header> - </div> - ); -} +const App = () => + <Provider store={store}> + <Router> + <NavBar /> + <Routes /> + </Router> + </Provider> export default App; From f25f5e5d72c04139e1703f1d0010e940682be07e Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 13:14:46 +0200 Subject: [PATCH 12/41] [react-restaurant] Follow-up remove unused package --- src/sandwich-menu/components/sandwich-menu.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index aaef628..c474ecd 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -2,7 +2,6 @@ import MUIDataTable from 'mui-datatables' import React, {useEffect, useState} from "react"; import {Box, Grid, Toolbar, Badge, IconButton} from "@material-ui/core"; import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; -import 'bootstrap/dist/css/bootstrap-grid.css.map' import {useOnAddCart} from "../containers/hooks/use-on-add-cart"; import {Title} from "../containers/details/title" import {ShowDetails} from "../containers/details/body"; From 219cf6d375ae1a1a61c313f4438f6405a28176d7 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 13:17:21 +0200 Subject: [PATCH 13/41] [react-restaurant] Follow-up change <a> with <Link> --- src/home/home.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/home/home.jsx b/src/home/home.jsx index 5479934..f5ffb5d 100644 --- a/src/home/home.jsx +++ b/src/home/home.jsx @@ -1,4 +1,5 @@ import logo from "../logo.svg"; +import {Link} from "react-router-dom"; export const Home = () => <div className="App"> @@ -7,8 +8,8 @@ export const Home = () => <p> Welcome to React Restaurant </p> - <a className="App-link" href="http://localhost:3000/menu"> + <Link className="App-link" to="/menu"> Go to menu - </a> + </Link> </header> </div> \ No newline at end of file From d224075bf70d2240d1fb45fcc4af2927f948bf9a Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 13:19:35 +0200 Subject: [PATCH 14/41] [react-restaurant] Follow-up change misleading icon --- src/core/navbar/navbar.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/navbar/navbar.jsx b/src/core/navbar/navbar.jsx index ea2da0e..af7ba46 100644 --- a/src/core/navbar/navbar.jsx +++ b/src/core/navbar/navbar.jsx @@ -1,5 +1,5 @@ -import {AppBar, Toolbar, Typography} from '@material-ui/core' -import MenuIcon from '@material-ui/icons/Menu' +import {AppBar, Toolbar} from '@material-ui/core' +import HomeIcon from '@material-ui/icons/Home' import {RestaurantMenu} from "@material-ui/icons"; import {NavbarIcons} from "./navbar-icons/navbar-icons"; import {NavbarTitle} from "./navbar-title/navbar-title"; @@ -8,7 +8,7 @@ import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; export const NavBar = () => <AppBar position ='static'> <Toolbar variant ='dense'> - <NavbarIcons link={'/'} icon={<MenuIcon/>} /> + <NavbarIcons link={'/'} icon={<HomeIcon/>} /> <NavbarIcons link={'/menu'} icon={<RestaurantMenu/>} /> <NavbarTitle text={'React Restaurant'} /> <NavbarIcons link={'/menu/shopping-cart'} icon={<AddShoppingCartIcon/>} edge={'end'} /> From db4621bf389af491fef5924ab1af2522ba37b150 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 13:22:17 +0200 Subject: [PATCH 15/41] [react-restaurant] Follow-up fix app.js --- src/App.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/App.js b/src/App.js index 1bd4b54..41b97be 100644 --- a/src/App.js +++ b/src/App.js @@ -9,8 +9,9 @@ import {store} from "./core/store/store" const App = () => <Provider store={store}> <Router> - <NavBar /> - <Routes /> + <NavBar /> + <Routes /> </Router> </Provider> + export default App; From 6af0b5a6657eb25febd49fcaf03c93e97b69e078 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Mon, 1 Mar 2021 13:24:05 +0200 Subject: [PATCH 16/41] [react-restaurant] Follow-up clickable text has been added. --- src/sandwich-menu/components/sandwich-menu.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index c474ecd..67ab9e7 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -35,9 +35,9 @@ export const Menu = () => { expandableRows: true, customToolbarSelect: () => <Toolbar> - <div>Adauga in cos</div> <Box mr={5}> <IconButton onClick={onClick}> + <div>Adauga in cos</div> <Badge badgeContent={selected.length} color='secondary'> <AddShoppingCartIcon /> </Badge> From 93618657616d20d1635aaa5ce5293aaee23e4440 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:03:21 +0200 Subject: [PATCH 17/41] [react-restaurant] Follow-up fix indentation --- src/home/home.jsx | 2 +- src/sandwich-menu/components/sandwich-menu.jsx | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/home/home.jsx b/src/home/home.jsx index f5ffb5d..1055c03 100644 --- a/src/home/home.jsx +++ b/src/home/home.jsx @@ -1,4 +1,4 @@ -import logo from "../logo.svg"; +import logo from '../logo.svg' import {Link} from "react-router-dom"; export const Home = () => diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 67ab9e7..57ad317 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -52,14 +52,14 @@ export const Menu = () => { }; return <Box mt={5} mr={2}> - <Grid container direction='row' justify='center' spacing={2}> - <MUIDataTable - columns={columns} - data={data} - options={options} - title={'Sandwiches'} - /> - </Grid> + <Grid container direction='row' justify='center' spacing={2}> + <MUIDataTable + columns={columns} + data={data} + options={options} + title={'Sandwiches'} + /> + </Grid> </Box> } From 53f711cffb27831fdf61d946cbb01394460c934c Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:04:20 +0200 Subject: [PATCH 18/41] [react-restaurant] Follow-up remove console.log --- src/sandwich-menu/components/sandwich-menu.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 57ad317..4b91532 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -64,6 +64,5 @@ export const Menu = () => { } const selector = ({ sandwichMenuReducer }) => { - console.log(sandwichMenuReducer) return sandwichMenuReducer.items; } \ No newline at end of file From 0878196e21d4645665be48e496ee8c77121c51f2 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:10:49 +0200 Subject: [PATCH 19/41] [react-restaurant] Follow-up make one-liner --- src/sandwich-menu/components/sandwich-menu.jsx | 4 +--- src/shopping-cart/components/shopping-cart.jsx | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 4b91532..ab300c2 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -63,6 +63,4 @@ export const Menu = () => { </Box> } -const selector = ({ sandwichMenuReducer }) => { - return sandwichMenuReducer.items; -} \ No newline at end of file +const selector = ({ sandwichMenuReducer }) => sandwichMenuReducer.items; diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx index 265959a..419523b 100644 --- a/src/shopping-cart/components/shopping-cart.jsx +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -56,6 +56,4 @@ export const ShoppingCart = () => { </Box> } -const selector = ({ shoppingCartReducer }) => { - return shoppingCartReducer.items; -} \ No newline at end of file +const selector = ({ shoppingCartReducer }) => shoppingCartReducer.items; From 8dc3cce24a4f06540a048c1f188b6ce656864a3c Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:36:12 +0200 Subject: [PATCH 20/41] [react-restaurant] Follow-up rename actions --- src/sandwich-menu/containers/hooks/use-on-add-cart.js | 4 ++-- src/shopping-cart/actions/add-item-to-shopping-cart.js | 6 +----- src/shopping-cart/actions/index.js | 3 ++- .../containers/hooks/use-delete-selected-rows.js | 4 ++-- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/sandwich-menu/containers/hooks/use-on-add-cart.js b/src/sandwich-menu/containers/hooks/use-on-add-cart.js index db05aa4..7f995be 100644 --- a/src/sandwich-menu/containers/hooks/use-on-add-cart.js +++ b/src/sandwich-menu/containers/hooks/use-on-add-cart.js @@ -1,5 +1,5 @@ import {useDispatch, useSelector} from "react-redux"; -import {addItemToShoppingCart} from "../../../shopping-cart/actions" +import {addItems} from "../../../shopping-cart/actions" export const useOnAddCart = (selected, setSelected, selector) => { const dispatch = useDispatch() @@ -7,7 +7,7 @@ export const useOnAddCart = (selected, setSelected, selector) => { const shoppingCartData = selected.map(selectIndex => data[selectIndex]) return () => { - dispatch(addItemToShoppingCart(shoppingCartData)) + dispatch(addItems(shoppingCartData)) setSelected([]) } } \ No newline at end of file diff --git a/src/shopping-cart/actions/add-item-to-shopping-cart.js b/src/shopping-cart/actions/add-item-to-shopping-cart.js index b1215ea..3f0adde 100644 --- a/src/shopping-cart/actions/add-item-to-shopping-cart.js +++ b/src/shopping-cart/actions/add-item-to-shopping-cart.js @@ -1,7 +1,3 @@ export const ADD_ITEM_TO_SHOPPING_CART = 'ADD_ITEM_TO_SHOPPING_CART' -export const REMOVE_ITEM_FROM_SHOPPING_CART = 'REMOVE_ITEM_FROM_SHOPPING_CART' - -export const addItemToShoppingCart = item => ({type: ADD_ITEM_TO_SHOPPING_CART, payload: item}) -export const removeItemFromShoppingCart = remainingItems => - ({type: REMOVE_ITEM_FROM_SHOPPING_CART, payload: remainingItems}) \ No newline at end of file +export const addItems = item => ({type: ADD_ITEM_TO_SHOPPING_CART, payload: item}) diff --git a/src/shopping-cart/actions/index.js b/src/shopping-cart/actions/index.js index 6bfe3cf..db54208 100644 --- a/src/shopping-cart/actions/index.js +++ b/src/shopping-cart/actions/index.js @@ -1 +1,2 @@ -export * from "./add-item-to-shopping-cart" \ No newline at end of file +export * from "./add-item-to-shopping-cart" +export * from "./remove-item-from-shopping-cart" \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js index c2b4da3..0292e5c 100644 --- a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js +++ b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js @@ -1,5 +1,5 @@ import {useDispatch, useSelector} from "react-redux"; -import {removeItemFromShoppingCart} from "../../actions"; +import {removeItems} from "../../actions"; export const useDeleteSelectedRows = (selected, selector, setSelected) => { @@ -8,7 +8,7 @@ export const useDeleteSelectedRows = (selected, selector, setSelected) => const itemsToDelete = selected.map(item => shoppingCartData[item]) return () => { - dispatch(removeItemFromShoppingCart(itemsToDelete)) + dispatch(removeItems(itemsToDelete)) setSelected([]) } } \ No newline at end of file From ad7bb60d790a7a99a4b228b4dcd67b03891d69f5 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:36:35 +0200 Subject: [PATCH 21/41] [react-restaurant] Follow-up separate remove action --- src/shopping-cart/actions/remove-item-from-shopping-cart.js | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/shopping-cart/actions/remove-item-from-shopping-cart.js diff --git a/src/shopping-cart/actions/remove-item-from-shopping-cart.js b/src/shopping-cart/actions/remove-item-from-shopping-cart.js new file mode 100644 index 0000000..ac7f42d --- /dev/null +++ b/src/shopping-cart/actions/remove-item-from-shopping-cart.js @@ -0,0 +1,3 @@ +export const REMOVE_ITEM_FROM_SHOPPING_CART = 'REMOVE_ITEM_FROM_SHOPPING_CART' + +export const removeItems = items => ({type: REMOVE_ITEM_FROM_SHOPPING_CART, payload: items}) \ No newline at end of file From 56f1b7c6ef9163fd3b16d0fea596fb6e0016a982 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 10:38:54 +0200 Subject: [PATCH 22/41] [react-restaurant] Follow-up remove unused context variables --- .../containers/hooks/use-default-sandwich-menu.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js index 568c457..e9a180d 100644 --- a/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js +++ b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js @@ -1,7 +1,3 @@ -import {useState} from "react"; - export const useDefaultSandwichMenu = () => { - const [data, setData] = useState([]) - const [shoppingCartData, setShoppingCartData] = useState([]) - return {data, setData , shoppingCartData, setShoppingCartData} + return [] } \ No newline at end of file From 6036e98381b18b901e07213d2d47bfcfe79057a8 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 12:24:27 +0200 Subject: [PATCH 23/41] [react-restaurant] Follow-up move selected in context --- src/sandwich-menu/components/sandwich-menu.jsx | 9 ++++----- .../containers/hooks/use-default-sandwich-menu.js | 5 ++++- src/sandwich-menu/containers/hooks/use-init.js | 8 ++++++-- src/sandwich-menu/containers/hooks/use-on-add-cart.js | 4 +++- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index ab300c2..ae04a35 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -1,5 +1,5 @@ import MUIDataTable from 'mui-datatables' -import React, {useEffect, useState} from "react"; +import React, {useEffect} from "react"; import {Box, Grid, Toolbar, Badge, IconButton} from "@material-ui/core"; import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; import {useOnAddCart} from "../containers/hooks/use-on-add-cart"; @@ -8,14 +8,13 @@ import {ShowDetails} from "../containers/details/body"; import {columns} from "../containers/table-columns"; import {useDispatch, useSelector} from "react-redux"; import {getAllSandwiches} from "../actions"; +import {useSandwichContext} from "../containers/hooks/use-sandwich-context"; export const Menu = () => { - const [selected, setSelected] = useState([]); - const dispatch = useDispatch() - useEffect(() => dispatch(getAllSandwiches()),[]) + const {selected, setSelected} = useSandwichContext(); const data = useSelector(selector) - const onClick = useOnAddCart(selected,setSelected, selector); + const onClick = useOnAddCart(selector); const options = { filterType: 'dropdown', diff --git a/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js index e9a180d..e39330f 100644 --- a/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js +++ b/src/sandwich-menu/containers/hooks/use-default-sandwich-menu.js @@ -1,3 +1,6 @@ +import {useState} from "react"; + export const useDefaultSandwichMenu = () => { - return [] + const [selected, setSelected] = useState([]) + return {selected, setSelected} } \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-init.js b/src/sandwich-menu/containers/hooks/use-init.js index be3d7b0..c26e498 100644 --- a/src/sandwich-menu/containers/hooks/use-init.js +++ b/src/sandwich-menu/containers/hooks/use-init.js @@ -1,7 +1,11 @@ import {useSandwichContext} from "./use-sandwich-context"; import {useEffect} from "react"; +import {useDispatch} from "react-redux"; +import {getAllSandwiches} from "../../actions"; export const useInit = () =>{ - const {setData} = useSandwichContext(); - useEffect(() => setData(() => []),[]) + const {setSelected} = useSandwichContext(); + const dispatch = useDispatch() + useEffect(() => dispatch(getAllSandwiches()),[]) + useEffect(() => setSelected(() => []),[]) } \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-on-add-cart.js b/src/sandwich-menu/containers/hooks/use-on-add-cart.js index 7f995be..7b77a1b 100644 --- a/src/sandwich-menu/containers/hooks/use-on-add-cart.js +++ b/src/sandwich-menu/containers/hooks/use-on-add-cart.js @@ -1,7 +1,9 @@ import {useDispatch, useSelector} from "react-redux"; import {addItems} from "../../../shopping-cart/actions" +import {useSandwichContext} from "./use-sandwich-context"; -export const useOnAddCart = (selected, setSelected, selector) => { +export const useOnAddCart = (selector) => { + const {selected, setSelected} = useSandwichContext() const dispatch = useDispatch() const data = useSelector(selector) const shoppingCartData = selected.map(selectIndex => data[selectIndex]) From 134fa5000ff54e1ae284ef2e62b779e286a14341 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 13:06:23 +0200 Subject: [PATCH 24/41] [react-restaurant] Follow-up added shopping cart context --- src/core/routes/routes.jsx | 2 +- src/shopping-cart/containers/context.js | 3 +++ .../containers/hooks/use-default-shopping-cart.js | 6 ++++++ src/shopping-cart/containers/hooks/use-init.js | 7 +++++++ .../containers/hooks/use-shopping-cart-context.js | 4 ++++ src/shopping-cart/containers/index.jsx | 9 +++++++++ src/shopping-cart/containers/init-behaviour.js | 6 ++++++ 7 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/shopping-cart/containers/context.js create mode 100644 src/shopping-cart/containers/hooks/use-default-shopping-cart.js create mode 100644 src/shopping-cart/containers/hooks/use-init.js create mode 100644 src/shopping-cart/containers/hooks/use-shopping-cart-context.js create mode 100644 src/shopping-cart/containers/index.jsx create mode 100644 src/shopping-cart/containers/init-behaviour.js diff --git a/src/core/routes/routes.jsx b/src/core/routes/routes.jsx index 7bc9c95..92f2326 100644 --- a/src/core/routes/routes.jsx +++ b/src/core/routes/routes.jsx @@ -3,7 +3,7 @@ import {Home} from "../../home/home"; import {FoodMenu} from "../../menu/containers"; import history from '.././history'; import {SandwichMenu} from "../../sandwich-menu/containers"; -import {ShoppingCart} from "../../shopping-cart/components/shopping-cart"; +import {ShoppingCart} from "../../shopping-cart/containers"; export const Routes = () => <Router history={history}> diff --git a/src/shopping-cart/containers/context.js b/src/shopping-cart/containers/context.js new file mode 100644 index 0000000..d6d4b9d --- /dev/null +++ b/src/shopping-cart/containers/context.js @@ -0,0 +1,3 @@ +import {createContext} from "react"; + +export const ShoppingCartContext = createContext({}) \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-default-shopping-cart.js b/src/shopping-cart/containers/hooks/use-default-shopping-cart.js new file mode 100644 index 0000000..c15f700 --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-default-shopping-cart.js @@ -0,0 +1,6 @@ +import {useState} from "react"; + +export const useDefaultShoppingCart = () =>{ + const [selected, setSelected]= useState([]); + return {selected,setSelected} +} \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-init.js b/src/shopping-cart/containers/hooks/use-init.js new file mode 100644 index 0000000..b88dabc --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-init.js @@ -0,0 +1,7 @@ +import {useShoppingCartContext} from "./use-shopping-cart-context"; +import {useEffect} from "react"; + +export const useInit = () => { + const {setSelected} = useShoppingCartContext() + useEffect(() => setSelected([]),[]) +} \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-shopping-cart-context.js b/src/shopping-cart/containers/hooks/use-shopping-cart-context.js new file mode 100644 index 0000000..ed43fe2 --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-shopping-cart-context.js @@ -0,0 +1,4 @@ +import {useContext} from "react"; +import {ShoppingCartContext} from "../context"; + +export const useShoppingCartContext = () => useContext(ShoppingCartContext) \ No newline at end of file diff --git a/src/shopping-cart/containers/index.jsx b/src/shopping-cart/containers/index.jsx new file mode 100644 index 0000000..671e636 --- /dev/null +++ b/src/shopping-cart/containers/index.jsx @@ -0,0 +1,9 @@ +import {ShoppingCartContext} from "./context"; +import {ShoppingCartComponent} from "../components/shopping-cart"; +import {useDefaultShoppingCart} from "./hooks/use-default-shopping-cart"; +import {InitBehaviour} from "./init-behaviour"; + +export const ShoppingCart = () => <ShoppingCartContext.Provider value={useDefaultShoppingCart()}> +<InitBehaviour /> +<ShoppingCartComponent /> +</ShoppingCartContext.Provider> \ No newline at end of file diff --git a/src/shopping-cart/containers/init-behaviour.js b/src/shopping-cart/containers/init-behaviour.js new file mode 100644 index 0000000..2b815a6 --- /dev/null +++ b/src/shopping-cart/containers/init-behaviour.js @@ -0,0 +1,6 @@ +import {useInit} from "./hooks/use-init"; + +export const InitBehaviour = () =>{ + useInit() + return '' +} \ No newline at end of file From e4391c759bce52db5907e0fee38210ff6c8a5fa0 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 13:06:56 +0200 Subject: [PATCH 25/41] [react-restaurant] Follow-up place options in hook --- .../components/sandwich-menu.jsx | 51 ++----------------- src/sandwich-menu/containers/options.jsx | 45 ++++++++++++++++ .../components/shopping-cart.jsx | 45 +++------------- src/shopping-cart/containers/options.jsx | 43 ++++++++++++++++ 4 files changed, 99 insertions(+), 85 deletions(-) create mode 100644 src/sandwich-menu/containers/options.jsx create mode 100644 src/shopping-cart/containers/options.jsx diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index ae04a35..3527e02 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -1,54 +1,13 @@ import MUIDataTable from 'mui-datatables' -import React, {useEffect} from "react"; -import {Box, Grid, Toolbar, Badge, IconButton} from "@material-ui/core"; -import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; -import {useOnAddCart} from "../containers/hooks/use-on-add-cart"; -import {Title} from "../containers/details/title" -import {ShowDetails} from "../containers/details/body"; +import React from "react"; +import {Box, Grid} from "@material-ui/core"; import {columns} from "../containers/table-columns"; -import {useDispatch, useSelector} from "react-redux"; -import {getAllSandwiches} from "../actions"; -import {useSandwichContext} from "../containers/hooks/use-sandwich-context"; +import {useSelector} from "react-redux"; +import {useSetOptions} from "../containers/options"; export const Menu = () => { - - const {selected, setSelected} = useSandwichContext(); const data = useSelector(selector) - const onClick = useOnAddCart(selector); - - const options = { - filterType: 'dropdown', - viewColumns:false, - filter: false, - print:false, - rowsSelected: selected, - download:false, - textLabels:{ - selectedRows : { - text: "produs(e) selectat(e)" - } - }, - selectableRowsOnClick: true, - selectableRowsHeader: false, - onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), - expandableRows: true, - customToolbarSelect: () => - <Toolbar> - <Box mr={5}> - <IconButton onClick={onClick}> - <div>Adauga in cos</div> - <Badge badgeContent={selected.length} color='secondary'> - <AddShoppingCartIcon /> - </Badge> - </IconButton> - </Box> - </Toolbar>, - renderExpandableRow: (rowData, rowMeta) => <> - <Title /> - <ShowDetails value={data[rowMeta.dataIndex].ingredients}/> - </>, - - }; + const options = useSetOptions(data, selector) return <Box mt={5} mr={2}> <Grid container direction='row' justify='center' spacing={2}> diff --git a/src/sandwich-menu/containers/options.jsx b/src/sandwich-menu/containers/options.jsx new file mode 100644 index 0000000..2068ad5 --- /dev/null +++ b/src/sandwich-menu/containers/options.jsx @@ -0,0 +1,45 @@ +import {Badge, Box, IconButton, Toolbar} from "@material-ui/core"; +import AddShoppingCartIcon from "@material-ui/icons/AddShoppingCart"; +import {Title} from "./details/title"; +import {ShowDetails} from "./details/body"; +import React from "react"; +import {useSandwichContext} from "./hooks/use-sandwich-context"; +import {useOnAddCart} from "./hooks/use-on-add-cart"; + +export const useSetOptions = (data, selector) => { + const {selected, setSelected} = useSandwichContext(); + const onClick = useOnAddCart(selector); + const options = { + filterType: 'dropdown', + viewColumns: false, + filter: false, + print: false, + rowsSelected: selected, + download: false, + textLabels: { + selectedRows: { + text: "produs(e) selectat(e)" + } + }, + selectableRowsOnClick: true, + selectableRowsHeader: false, + onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), + expandableRows: true, + customToolbarSelect: () => + <Toolbar> + <Box mr={5}> + <IconButton onClick={onClick}> + <div>Adauga in cos</div> + <Badge badgeContent={selected.length} color='secondary'> + <AddShoppingCartIcon/> + </Badge> + </IconButton> + </Box> + </Toolbar>, + renderExpandableRow: (rowData, rowMeta) => <> + <Title/> + <ShowDetails value={data[rowMeta.dataIndex].ingredients}/> + </>, + }; + return options; +} \ No newline at end of file diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx index 419523b..e8ed736 100644 --- a/src/shopping-cart/components/shopping-cart.jsx +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -1,50 +1,17 @@ -import {Badge, Box, IconButton, Toolbar} from "@material-ui/core"; -import React, {useState} from "react"; +import {Box} from "@material-ui/core"; +import React from "react"; import MUIDataTable from 'mui-datatables' import {useSetTotalPrice} from "../containers/hooks/use-set-total-price"; -import DeleteIcon from "@material-ui/icons/Delete"; -import {useDeleteSelectedRows} from "../containers/hooks/use-delete-selected-rows"; import {columns} from "../containers/table-columns"; import {PaymentDetails} from "../containers/payment-details/payment-details"; import {useSelector} from "react-redux"; +import {useSetOptions} from "../containers/options"; -export const ShoppingCart = () => { +export const ShoppingCartComponent = () => { const shoppingCartData = useSelector(selector) - const [selected,setSelected] = useState([]); + const totalPrice = useSetTotalPrice(shoppingCartData); - const onClick = useDeleteSelectedRows(selected, selector, setSelected); - - const options = { - filterType: 'dropdown', - viewColumns: false, - filter: false, - print: false, - rowsSelected: selected, - selectableRowsOnClick: true, - download: false, - pagination:false, - search: false, - textLabels:{ - selectedRows : { - text: "produs(e) selectat(e)" - }, - body:{ - noMatch: "Nici un produs" - } - }, - onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), - customToolbarSelect: () => - <Toolbar> - <div>Sterge produs(e)</div> - <Box mr={5}> - <IconButton onClick={onClick}> - <Badge badgeContent={selected.length} color='secondary'> - <DeleteIcon /> - </Badge> - </IconButton> - </Box> - </Toolbar>, - } + const options = useSetOptions(selector); return <Box m={5}> <MUIDataTable data={shoppingCartData} diff --git a/src/shopping-cart/containers/options.jsx b/src/shopping-cart/containers/options.jsx new file mode 100644 index 0000000..74bc4dc --- /dev/null +++ b/src/shopping-cart/containers/options.jsx @@ -0,0 +1,43 @@ +import React, {useState} from "react"; +import {useDeleteSelectedRows} from "./hooks/use-delete-selected-rows"; +import {useShoppingCartContext} from "./hooks/use-shopping-cart-context"; +import {Badge, Box, IconButton, Toolbar} from "@material-ui/core"; +import DeleteIcon from "@material-ui/icons/Delete"; + +export const useSetOptions = (selector) =>{ + const {selected,setSelected} = useShoppingCartContext(); + const onClick = useDeleteSelectedRows(selected, selector, setSelected); + const options = { + filterType: 'dropdown', + viewColumns: false, + filter: false, + print: false, + rowsSelected: selected, + selectableRowsOnClick: true, + download: false, + pagination:false, + search: false, + textLabels:{ + selectedRows : { + text: "produs(e) selectat(e)" + }, + body:{ + noMatch: "Nici un produs" + } + }, + onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), + customToolbarSelect: () => + <Toolbar> + <div>Sterge produs(e)</div> + <Box mr={5}> + <IconButton onClick={onClick}> + <Badge badgeContent={selected.length} color='secondary'> + <DeleteIcon /> + </Badge> + </IconButton> + </Box> + </Toolbar>, + }; + + return options; +} \ No newline at end of file From b49dda63340e013130fe004bec975f4e37a0b796 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 2 Mar 2021 15:06:13 +0200 Subject: [PATCH 26/41] [react-restaurant] Follow-up move logic to reducers --- .../containers/hooks/use-on-add-cart.js | 9 ++++++--- src/shopping-cart/components/shopping-cart.jsx | 2 +- .../containers/hooks/use-delete-selected-rows.js | 9 +++++++-- src/shopping-cart/containers/options.jsx | 2 +- src/shopping-cart/reducers/shopping-cart.js | 12 ++++++++++-- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/sandwich-menu/containers/hooks/use-on-add-cart.js b/src/sandwich-menu/containers/hooks/use-on-add-cart.js index 7b77a1b..a38f397 100644 --- a/src/sandwich-menu/containers/hooks/use-on-add-cart.js +++ b/src/sandwich-menu/containers/hooks/use-on-add-cart.js @@ -4,12 +4,15 @@ import {useSandwichContext} from "./use-sandwich-context"; export const useOnAddCart = (selector) => { const {selected, setSelected} = useSandwichContext() - const dispatch = useDispatch() const data = useSelector(selector) - const shoppingCartData = selected.map(selectIndex => data[selectIndex]) + const dispatch = useDispatch() + const itemsToAdd = { + data: data, + selectedAdd: selected + } return () => { - dispatch(addItems(shoppingCartData)) + dispatch(addItems(itemsToAdd)) setSelected([]) } } \ No newline at end of file diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx index e8ed736..1fc466d 100644 --- a/src/shopping-cart/components/shopping-cart.jsx +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -9,9 +9,9 @@ import {useSetOptions} from "../containers/options"; export const ShoppingCartComponent = () => { const shoppingCartData = useSelector(selector) - const totalPrice = useSetTotalPrice(shoppingCartData); const options = useSetOptions(selector); + return <Box m={5}> <MUIDataTable data={shoppingCartData} diff --git a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js index 0292e5c..7f605ac 100644 --- a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js +++ b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js @@ -1,11 +1,16 @@ import {useDispatch, useSelector} from "react-redux"; import {removeItems} from "../../actions"; +import {useShoppingCartContext} from "./use-shopping-cart-context"; -export const useDeleteSelectedRows = (selected, selector, setSelected) => +export const useDeleteSelectedRows = (selector) => { + const {selected,setSelected} = useShoppingCartContext(); const shoppingCartData = useSelector(selector) const dispatch = useDispatch() - const itemsToDelete = selected.map(item => shoppingCartData[item]) + const itemsToDelete = { + selectedDelete: selected, + shoppingCartData: shoppingCartData, + } return () => { dispatch(removeItems(itemsToDelete)) diff --git a/src/shopping-cart/containers/options.jsx b/src/shopping-cart/containers/options.jsx index 74bc4dc..1e4f789 100644 --- a/src/shopping-cart/containers/options.jsx +++ b/src/shopping-cart/containers/options.jsx @@ -6,7 +6,7 @@ import DeleteIcon from "@material-ui/icons/Delete"; export const useSetOptions = (selector) =>{ const {selected,setSelected} = useShoppingCartContext(); - const onClick = useDeleteSelectedRows(selected, selector, setSelected); + const onClick = useDeleteSelectedRows(selector); const options = { filterType: 'dropdown', viewColumns: false, diff --git a/src/shopping-cart/reducers/shopping-cart.js b/src/shopping-cart/reducers/shopping-cart.js index 484f259..0051d79 100644 --- a/src/shopping-cart/reducers/shopping-cart.js +++ b/src/shopping-cart/reducers/shopping-cart.js @@ -5,9 +5,17 @@ const initialState = { export const shoppingCartReducer = (state = initialState, action) =>{ switch (action.type){ case 'ADD_ITEM_TO_SHOPPING_CART': - return {...state , items: [...state.items, ...action.payload]} + const {data, selectedAdd} = action.payload; + const itemsToAdd = selectedAdd.map(selectIndex => data[selectIndex]) + + return {...state , items: [...state.items, ...itemsToAdd]} + case 'REMOVE_ITEM_FROM_SHOPPING_CART': - return {...state, items: state.items.filter(item => !action.payload.includes(item))} + const {selectedDelete, shoppingCartData} = action.payload + const itemsToDelete = selectedDelete.map(item => shoppingCartData[item]) + + return {...state, items: state.items.filter(item => !itemsToDelete.includes(item))} + default: return state; } From 56550c8932f03b954f612f0b7ef8a64d88730cab Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Wed, 3 Mar 2021 15:08:25 +0200 Subject: [PATCH 27/41] [react-restaurant] Follow-up add countable rows --- package.json | 3 +- .../containers/table-columns.jsx | 4 +- src/sandwich-menu/reducers/sandwich-menu.js | 2 + .../components/shopping-cart.jsx | 6 +- .../hooks/use-make-shopping-cart.js | 8 ++ .../containers/table-columns.jsx | 95 +++++++++++-------- 6 files changed, 74 insertions(+), 44 deletions(-) create mode 100644 src/shopping-cart/containers/hooks/use-make-shopping-cart.js diff --git a/package.json b/package.json index 47cab4c..71a6208 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "react-redux": "^7.2.2", "redux": "^4.0.5", "yup": "^0.32.9", - "immutable": "^4.0.0-rc.12" + "immutable": "^4.0.0-rc.12", + "lodash": "^4.17.21" } } diff --git a/src/sandwich-menu/containers/table-columns.jsx b/src/sandwich-menu/containers/table-columns.jsx index 768bf53..fd9e4c1 100644 --- a/src/sandwich-menu/containers/table-columns.jsx +++ b/src/sandwich-menu/containers/table-columns.jsx @@ -8,9 +8,9 @@ export const columns=[ options: { filter: false, sort: false, - customBodyRender: (rowData, currentTableData) => + customBodyRender: (rowData) => <Grid item xs={12} sm={12} md={10} lg={10}> - <img className={'Images'} src={rowData} alt={currentTableData[4]} /> + <img className={'Images'} src={rowData} /> </Grid> } }, diff --git a/src/sandwich-menu/reducers/sandwich-menu.js b/src/sandwich-menu/reducers/sandwich-menu.js index ecfeb97..0d0371d 100644 --- a/src/sandwich-menu/reducers/sandwich-menu.js +++ b/src/sandwich-menu/reducers/sandwich-menu.js @@ -8,6 +8,8 @@ export const sandwichMenuReducer = (state = initialState, action) =>{ switch (action.type){ case 'GET_ALL_SANDWICHES': return {...state, items: sandwichData}; + case 'GET_ALL_SANDWICHES_API': + default: return state; } diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx index 1fc466d..548f073 100644 --- a/src/shopping-cart/components/shopping-cart.jsx +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -2,19 +2,21 @@ import {Box} from "@material-ui/core"; import React from "react"; import MUIDataTable from 'mui-datatables' import {useSetTotalPrice} from "../containers/hooks/use-set-total-price"; -import {columns} from "../containers/table-columns"; +import {useSetColumns} from "../containers/table-columns"; import {PaymentDetails} from "../containers/payment-details/payment-details"; import {useSelector} from "react-redux"; import {useSetOptions} from "../containers/options"; +const _ = require('lodash'); export const ShoppingCartComponent = () => { const shoppingCartData = useSelector(selector) const totalPrice = useSetTotalPrice(shoppingCartData); const options = useSetOptions(selector); + const columns = useSetColumns(shoppingCartData) return <Box m={5}> <MUIDataTable - data={shoppingCartData} + data={_.uniqBy(shoppingCartData,item => item.id)} columns={columns} options={options} title={'ShoppingCart'} diff --git a/src/shopping-cart/containers/hooks/use-make-shopping-cart.js b/src/shopping-cart/containers/hooks/use-make-shopping-cart.js new file mode 100644 index 0000000..b6960b3 --- /dev/null +++ b/src/shopping-cart/containers/hooks/use-make-shopping-cart.js @@ -0,0 +1,8 @@ +export const useMakeShoppingCart = (shoppingCartData) =>{ + let tempShoppingCartData = [] + tempShoppingCartData = shoppingCartData.filter(item => { + + }) + + return shoppingCartData +} \ No newline at end of file diff --git a/src/shopping-cart/containers/table-columns.jsx b/src/shopping-cart/containers/table-columns.jsx index 633bd11..2b5b36c 100644 --- a/src/shopping-cart/containers/table-columns.jsx +++ b/src/shopping-cart/containers/table-columns.jsx @@ -1,46 +1,63 @@ import {Grid, Hidden} from "@material-ui/core"; import React from "react"; -export const columns =[ - { - name: 'id', - label: 'Id', - options: { - filter:false, - sort: false, - display: true +export const useSetColumns = (shoppingCartData) => { + const _ = require('lodash'); + + return [ + { + name: 'id', + label: 'Id', + options: { + filter: false, + sort: false, + display: true + }, }, - }, - { - name: 'name', - label: 'Denumire', - options: { - filter: true, - sort: true, - customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + { + name: 'name', + label: 'Denumire', + options: { + filter: true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + }, }, - }, - { - name: 'description', - label: 'Descriere', - options: { - filter:true, - sort: true, - empty: true, - customBodyRender: rowData => <Hidden smDown='true'> - <Grid item xs={12} sm={12} md={10} lg={10}> - {rowData} - </Grid> - </Hidden>, + { + name: 'description', + label: 'Descriere', + options: { + filter: true, + sort: true, + customBodyRender: rowData => <Hidden smDown='true'> + <Grid item xs={12} sm={12} md={10} lg={10}> + {rowData} + </Grid> + </Hidden>, + }, }, - }, - { - name: 'price', - label: 'Pret', - options: { - filter:true, - sort: true, - customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData} $</Grid> + { + name: 'price', + label: 'Pret', + options: { + filter: true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData} $</Grid> + }, }, - }, -] \ No newline at end of file + { + name: 'count', + label: "Nr. Produse", + options:{ + filter:false, + sort:true, + customBodyRender: (rowData, currentTableData) => { + const rowId= currentTableData.rowData[0] + const counter = _.countBy(shoppingCartData, item => item.id === rowId) + + return <Grid item xs={12} sm={12} md={10} lg={10}>{counter[true]} </Grid> + } + } + }, + ] +} \ No newline at end of file From 7ac25e6d71e2226fb4399eb61dba4e70c1f429fe Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:35:11 +0200 Subject: [PATCH 28/41] [react-restaurant] Follow-up remove unused imports --- src/sandwich-menu/containers/table-columns.jsx | 6 ++---- src/shopping-cart/containers/table-columns.jsx | 7 +++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/sandwich-menu/containers/table-columns.jsx b/src/sandwich-menu/containers/table-columns.jsx index fd9e4c1..a742fe6 100644 --- a/src/sandwich-menu/containers/table-columns.jsx +++ b/src/sandwich-menu/containers/table-columns.jsx @@ -1,4 +1,4 @@ -import {Grid, Hidden} from "@material-ui/core"; +import {Grid} from "@material-ui/core"; import React from "react"; export const columns=[ @@ -59,9 +59,7 @@ export const columns=[ filter:true, sort: true, empty: true, - customBodyRender: rowData => <Hidden smDown> - <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> - </Hidden>, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid>, }, }, diff --git a/src/shopping-cart/containers/table-columns.jsx b/src/shopping-cart/containers/table-columns.jsx index 2b5b36c..3caa70d 100644 --- a/src/shopping-cart/containers/table-columns.jsx +++ b/src/shopping-cart/containers/table-columns.jsx @@ -1,4 +1,4 @@ -import {Grid, Hidden} from "@material-ui/core"; +import {Grid} from "@material-ui/core"; import React from "react"; export const useSetColumns = (shoppingCartData) => { @@ -29,11 +29,10 @@ export const useSetColumns = (shoppingCartData) => { options: { filter: true, sort: true, - customBodyRender: rowData => <Hidden smDown='true'> + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}> {rowData} - </Grid> - </Hidden>, + </Grid>, }, }, { From 0e9e58505504f1e2a8a6d0ae2a2ca47641c7cb2b Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:37:10 +0200 Subject: [PATCH 29/41] [react-restaurant] Follow-up added get sandwiches api thunk --- src/core/store/store.js | 5 ++-- .../actions/get-all-sandwiches-api-attempt.js | 3 +++ .../actions/get-all-sandwiches-api-failure.js | 3 +++ .../actions/get-all-sandwiches-api-success.js | 3 +++ .../actions/get-all-sandwiches.js | 3 --- src/sandwich-menu/actions/index.js | 4 ++- .../containers/hooks/use-init.js | 4 +-- .../containers/hooks/use-on-add-cart.js | 2 +- src/sandwich-menu/reducers/sandwich-menu.js | 25 ++++++++++++------- src/sandwich-menu/thunks/get-sandwiches.js | 9 +++++++ .../hooks/use-delete-selected-rows.js | 2 +- 11 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 src/sandwich-menu/actions/get-all-sandwiches-api-attempt.js create mode 100644 src/sandwich-menu/actions/get-all-sandwiches-api-failure.js create mode 100644 src/sandwich-menu/actions/get-all-sandwiches-api-success.js delete mode 100644 src/sandwich-menu/actions/get-all-sandwiches.js create mode 100644 src/sandwich-menu/thunks/get-sandwiches.js diff --git a/src/core/store/store.js b/src/core/store/store.js index d88bca4..d3167ac 100644 --- a/src/core/store/store.js +++ b/src/core/store/store.js @@ -1,4 +1,5 @@ -import {createStore} from "redux"; +import {createStore, applyMiddleware} from "redux"; +import thunk from "redux-thunk" import {rootReducers} from "../../startup/reducers/index"; -export const store = createStore(rootReducers); \ No newline at end of file +export const store = createStore(rootReducers,applyMiddleware(thunk)); \ No newline at end of file diff --git a/src/sandwich-menu/actions/get-all-sandwiches-api-attempt.js b/src/sandwich-menu/actions/get-all-sandwiches-api-attempt.js new file mode 100644 index 0000000..695772f --- /dev/null +++ b/src/sandwich-menu/actions/get-all-sandwiches-api-attempt.js @@ -0,0 +1,3 @@ +export const GET_ALL_SANDWICHES_API_ATTEMPT = 'GET_ALL_SANDWICHES_API_ATTEMPT' + +export const getItemsApiAttempt = () => ({type: GET_ALL_SANDWICHES_API_ATTEMPT}) \ No newline at end of file diff --git a/src/sandwich-menu/actions/get-all-sandwiches-api-failure.js b/src/sandwich-menu/actions/get-all-sandwiches-api-failure.js new file mode 100644 index 0000000..cee394f --- /dev/null +++ b/src/sandwich-menu/actions/get-all-sandwiches-api-failure.js @@ -0,0 +1,3 @@ +export const GET_ALL_SANDWICHES_API_FAILURE = 'GET_ALL_SANDWICHES_API_FAILURE' + +export const getItemsApiFailure = () => ({type: GET_ALL_SANDWICHES_API_FAILURE}) \ No newline at end of file diff --git a/src/sandwich-menu/actions/get-all-sandwiches-api-success.js b/src/sandwich-menu/actions/get-all-sandwiches-api-success.js new file mode 100644 index 0000000..b3e3d45 --- /dev/null +++ b/src/sandwich-menu/actions/get-all-sandwiches-api-success.js @@ -0,0 +1,3 @@ +export const GET_ALL_SANDWICHES_API_SUCCESS = 'GET_ALL_SANDWICHES_API_SUCCESS' + +export const getItemsApiSuccess = (data) => ({type: GET_ALL_SANDWICHES_API_SUCCESS, payload: data}) \ No newline at end of file diff --git a/src/sandwich-menu/actions/get-all-sandwiches.js b/src/sandwich-menu/actions/get-all-sandwiches.js deleted file mode 100644 index eb4c1d6..0000000 --- a/src/sandwich-menu/actions/get-all-sandwiches.js +++ /dev/null @@ -1,3 +0,0 @@ -export const GET_ALL_SANDWICHES = 'GET_ALL_SANDWICHES' - -export const getAllSandwiches = () => ({type: GET_ALL_SANDWICHES}) \ No newline at end of file diff --git a/src/sandwich-menu/actions/index.js b/src/sandwich-menu/actions/index.js index 17c9d74..e83e3dc 100644 --- a/src/sandwich-menu/actions/index.js +++ b/src/sandwich-menu/actions/index.js @@ -1 +1,3 @@ -export * from './get-all-sandwiches' \ No newline at end of file +export * from './get-all-sandwiches-api-attempt' +export * from './get-all-sandwiches-api-failure' +export * from './get-all-sandwiches-api-success' \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-init.js b/src/sandwich-menu/containers/hooks/use-init.js index c26e498..a93542a 100644 --- a/src/sandwich-menu/containers/hooks/use-init.js +++ b/src/sandwich-menu/containers/hooks/use-init.js @@ -1,11 +1,11 @@ import {useSandwichContext} from "./use-sandwich-context"; import {useEffect} from "react"; import {useDispatch} from "react-redux"; -import {getAllSandwiches} from "../../actions"; +import {getAllSandwichApi} from "../../thunks/get-sandwiches" export const useInit = () =>{ const {setSelected} = useSandwichContext(); const dispatch = useDispatch() - useEffect(() => dispatch(getAllSandwiches()),[]) + useEffect(() => dispatch(getAllSandwichApi),[]) useEffect(() => setSelected(() => []),[]) } \ No newline at end of file diff --git a/src/sandwich-menu/containers/hooks/use-on-add-cart.js b/src/sandwich-menu/containers/hooks/use-on-add-cart.js index a38f397..4d23d5b 100644 --- a/src/sandwich-menu/containers/hooks/use-on-add-cart.js +++ b/src/sandwich-menu/containers/hooks/use-on-add-cart.js @@ -7,7 +7,7 @@ export const useOnAddCart = (selector) => { const data = useSelector(selector) const dispatch = useDispatch() const itemsToAdd = { - data: data, + data: data.data, selectedAdd: selected } diff --git a/src/sandwich-menu/reducers/sandwich-menu.js b/src/sandwich-menu/reducers/sandwich-menu.js index 0d0371d..8c709aa 100644 --- a/src/sandwich-menu/reducers/sandwich-menu.js +++ b/src/sandwich-menu/reducers/sandwich-menu.js @@ -1,17 +1,24 @@ -import {sandwichData} from "../data/sandwich-data"; - const initialState = { - items: [] + items: { + data: [], + status: 'false', + } } -export const sandwichMenuReducer = (state = initialState, action) =>{ +export const sandwichMenuReducer = (state = initialState, action) =>{ switch (action.type){ - case 'GET_ALL_SANDWICHES': - return {...state, items: sandwichData}; - case 'GET_ALL_SANDWICHES_API': + case 'GET_ALL_SANDWICHES_API_ATTEMPT': + + return {...state} + case 'GET_ALL_SANDWICHES_API_SUCCESS': + + return {...state, items: {data: [...action.payload.data], status: action.payload.success}} + + case 'GET_ALL_SANDWICHES_API_FAILURE': + + return {...state, items: {status: 'false'}} default: - return state; + return {...state} } - } \ No newline at end of file diff --git a/src/sandwich-menu/thunks/get-sandwiches.js b/src/sandwich-menu/thunks/get-sandwiches.js new file mode 100644 index 0000000..0113790 --- /dev/null +++ b/src/sandwich-menu/thunks/get-sandwiches.js @@ -0,0 +1,9 @@ +import {getItemsApiAttempt, getItemsApiFailure, getItemsApiSuccess} from "../actions"; +import axios from "axios"; + +export const getAllSandwichApi = async (dispatch) => { + dispatch(getItemsApiAttempt()) + await axios.get('https://octa-api.herokuapp.com/') + .then(data => dispatch(getItemsApiSuccess(data.data))) + .catch(() => dispatch(getItemsApiFailure())) +} \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js index 7f605ac..2d379d0 100644 --- a/src/shopping-cart/containers/hooks/use-delete-selected-rows.js +++ b/src/shopping-cart/containers/hooks/use-delete-selected-rows.js @@ -5,7 +5,7 @@ import {useShoppingCartContext} from "./use-shopping-cart-context"; export const useDeleteSelectedRows = (selector) => { const {selected,setSelected} = useShoppingCartContext(); - const shoppingCartData = useSelector(selector) + const {shoppingCartData} = useSelector(selector) const dispatch = useDispatch() const itemsToDelete = { selectedDelete: selected, From a7ec3a17059dec7b42fb80347d902c1c17345016 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:38:11 +0200 Subject: [PATCH 30/41] [react-restaurant] Follow-up added columns for new info --- .../containers/table-columns-api.jsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/sandwich-menu/containers/table-columns-api.jsx diff --git a/src/sandwich-menu/containers/table-columns-api.jsx b/src/sandwich-menu/containers/table-columns-api.jsx new file mode 100644 index 0000000..07fda34 --- /dev/null +++ b/src/sandwich-menu/containers/table-columns-api.jsx @@ -0,0 +1,31 @@ +import {Grid} from "@material-ui/core"; +import React from "react"; + +export const columns=[ + { + name: 'id', + label: 'Id', + options: { + filter:true, + sort: true, + }, + }, + { + name: 'name', + label: 'Denumire', + options: { + filter:true, + sort: true, + customBodyRender: rowData => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData}</Grid> + }, + }, + { + name: 'price', + label: 'Pret', + options: { + filter:true, + sort: true, + customBodyRender: (rowData) => <Grid item xs={12} sm={12} md={10} lg={10}>{rowData} $</Grid> + } + }, +] \ No newline at end of file From d9ee115322839d7e7e7a25752175858a45e086f8 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:38:20 +0200 Subject: [PATCH 31/41] [react-restaurant] Follow-up added packages --- package-lock.json | 20 ++++++++++++++++++++ package.json | 13 ++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c8085a..35c1014 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3179,6 +3179,15 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.2.tgz", "integrity": "sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg==" }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dev": true, + "requires": { + "follow-redirects": "^1.10.0" + } + }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -7158,6 +7167,12 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, + "graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", + "dev": true + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -13273,6 +13288,11 @@ "symbol-observable": "^1.2.0" } }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", diff --git a/package.json b/package.json index 71a6208..e9a136a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "react-dom": "^17.0.1", "react-router": "^5.2.0", "react-scripts": "4.0.2", + "redux-thunk": "^2.3.0", "web-vitals": "^1.1.0" }, "scripts": { @@ -39,15 +40,17 @@ "devDependencies": { "@material-ui/core": "^4.11.3", "@material-ui/icons": "^4.11.2", + "axios": "^0.21.1", + "graphql": "^15.5.0", "history": "^4.10.1", + "immutable": "^4.0.0-rc.12", + "lodash": "^4.17.21", "mui-datatables": "^3.7.6", - "react-image-resizer": "^1.3.0", - "react-router-dom": "^5.2.0", "react-bootstrap": "^1.5.0", + "react-image-resizer": "^1.3.0", "react-redux": "^7.2.2", + "react-router-dom": "^5.2.0", "redux": "^4.0.5", - "yup": "^0.32.9", - "immutable": "^4.0.0-rc.12", - "lodash": "^4.17.21" + "yup": "^0.32.9" } } From 1a59f087149d61bbdbacbde2e45158889e39fcf2 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:39:07 +0200 Subject: [PATCH 32/41] [react-restaurant] Follow-up added get rate from api --- src/core/site-error/error.jsx | 5 +++++ src/shopping-cart/actions/get-rate-attempt.js | 3 +++ src/shopping-cart/actions/get-rate-failure.js | 3 +++ src/shopping-cart/actions/get-rate-success.js | 3 +++ src/shopping-cart/actions/index.js | 5 ++++- .../components/shopping-cart.jsx | 14 ++++++++----- .../containers/hooks/use-init.js | 4 ++++ .../payment-details/payment-details.jsx | 3 ++- src/shopping-cart/reducers/rates.js | 21 +++++++++++++++++++ src/shopping-cart/thunks/get-rate.js | 9 ++++++++ src/startup/reducers/index.js | 3 ++- 11 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 src/core/site-error/error.jsx create mode 100644 src/shopping-cart/actions/get-rate-attempt.js create mode 100644 src/shopping-cart/actions/get-rate-failure.js create mode 100644 src/shopping-cart/actions/get-rate-success.js create mode 100644 src/shopping-cart/reducers/rates.js create mode 100644 src/shopping-cart/thunks/get-rate.js diff --git a/src/core/site-error/error.jsx b/src/core/site-error/error.jsx new file mode 100644 index 0000000..9520367 --- /dev/null +++ b/src/core/site-error/error.jsx @@ -0,0 +1,5 @@ +import {Box} from "@material-ui/core"; + +export const Error = () => <Box mt={12} ml={90}> + <div>The site has ran into an error. Please try again shortly</div> +</Box> \ No newline at end of file diff --git a/src/shopping-cart/actions/get-rate-attempt.js b/src/shopping-cart/actions/get-rate-attempt.js new file mode 100644 index 0000000..6169e35 --- /dev/null +++ b/src/shopping-cart/actions/get-rate-attempt.js @@ -0,0 +1,3 @@ +export const GET_RATE_API_ATTEMPT = 'GET_RATE_API_ATTEMPT' + +export const getRateAttempt = () => ({type: GET_RATE_API_ATTEMPT}) \ No newline at end of file diff --git a/src/shopping-cart/actions/get-rate-failure.js b/src/shopping-cart/actions/get-rate-failure.js new file mode 100644 index 0000000..29c284f --- /dev/null +++ b/src/shopping-cart/actions/get-rate-failure.js @@ -0,0 +1,3 @@ +export const GET_RATE_API_FAILURE = 'GET_RATE_API_FAILURE' + +export const getRateFailure = () => ({type: GET_RATE_API_FAILURE}) \ No newline at end of file diff --git a/src/shopping-cart/actions/get-rate-success.js b/src/shopping-cart/actions/get-rate-success.js new file mode 100644 index 0000000..c772dc4 --- /dev/null +++ b/src/shopping-cart/actions/get-rate-success.js @@ -0,0 +1,3 @@ +export const GET_RATE_API_SUCCESS = 'GET_RATE_API_SUCCESS' + +export const getRateSuccess = (rate) => ({type:GET_RATE_API_SUCCESS, payload: rate}) \ No newline at end of file diff --git a/src/shopping-cart/actions/index.js b/src/shopping-cart/actions/index.js index db54208..ce79792 100644 --- a/src/shopping-cart/actions/index.js +++ b/src/shopping-cart/actions/index.js @@ -1,2 +1,5 @@ export * from "./add-item-to-shopping-cart" -export * from "./remove-item-from-shopping-cart" \ No newline at end of file +export * from "./remove-item-from-shopping-cart" +export * from "./get-rate-attempt" +export * from "./get-rate-success" +export * from "./get-rate-failure" \ No newline at end of file diff --git a/src/shopping-cart/components/shopping-cart.jsx b/src/shopping-cart/components/shopping-cart.jsx index 548f073..e0ea1a4 100644 --- a/src/shopping-cart/components/shopping-cart.jsx +++ b/src/shopping-cart/components/shopping-cart.jsx @@ -9,10 +9,10 @@ import {useSetOptions} from "../containers/options"; const _ = require('lodash'); export const ShoppingCartComponent = () => { - const shoppingCartData = useSelector(selector) + const {shoppingCartData, rate} = useSelector(selector) const totalPrice = useSetTotalPrice(shoppingCartData); const options = useSetOptions(selector); - const columns = useSetColumns(shoppingCartData) + const columns = useSetColumns(shoppingCartData); return <Box m={5}> <MUIDataTable @@ -21,8 +21,12 @@ export const ShoppingCartComponent = () => { options={options} title={'ShoppingCart'} /> - <PaymentDetails totalPrice={totalPrice} /> - </Box> + <PaymentDetails totalPrice={totalPrice} rate={rate}/> + </Box> } -const selector = ({ shoppingCartReducer }) => shoppingCartReducer.items; +const selector = ({ shoppingCartReducer, ratesReducer}) => ({ + shoppingCartData: shoppingCartReducer.items, + rate: ratesReducer.rate, +}) + diff --git a/src/shopping-cart/containers/hooks/use-init.js b/src/shopping-cart/containers/hooks/use-init.js index b88dabc..403a384 100644 --- a/src/shopping-cart/containers/hooks/use-init.js +++ b/src/shopping-cart/containers/hooks/use-init.js @@ -1,7 +1,11 @@ import {useShoppingCartContext} from "./use-shopping-cart-context"; import {useEffect} from "react"; +import {useDispatch} from "react-redux"; +import {getRate} from "../../thunks/get-rate"; export const useInit = () => { const {setSelected} = useShoppingCartContext() + const dispatch = useDispatch() + useEffect(() => dispatch(getRate)) useEffect(() => setSelected([]),[]) } \ No newline at end of file diff --git a/src/shopping-cart/containers/payment-details/payment-details.jsx b/src/shopping-cart/containers/payment-details/payment-details.jsx index 59c80e9..cca50d3 100644 --- a/src/shopping-cart/containers/payment-details/payment-details.jsx +++ b/src/shopping-cart/containers/payment-details/payment-details.jsx @@ -5,13 +5,14 @@ import {PaymentBody} from "./body/payment-body"; import {PaymentSubTitle} from "./subtitle/payment-subtitle"; -export const PaymentDetails = ({totalPrice}) =><Box mt={5}> +export const PaymentDetails = ({totalPrice, rate}) =><Box mt={5}> <Card> <CardContent> <PaymentTitle text={'Detalii plata'}/> <PaymentBody text={`Pret produse: ${totalPrice} $`} /> <PaymentBody text={'Pret transport: 5 $'} /> <PaymentSubTitle text={` Pret total: ${totalPrice+5} $`} /> + <PaymentSubTitle text={` Pret total in lei: ${Math.round((totalPrice+5)*rate)} lei`} /> </CardContent> </Card> </Box> \ No newline at end of file diff --git a/src/shopping-cart/reducers/rates.js b/src/shopping-cart/reducers/rates.js new file mode 100644 index 0000000..1a96c6c --- /dev/null +++ b/src/shopping-cart/reducers/rates.js @@ -0,0 +1,21 @@ +const initialState = { + rate: 0, + status: 'false' +} + +export const ratesReducer = (state = initialState, action) => { + switch(action.type){ + case 'GET_RATE_API_ATTEMPT': + + return {...state} + case 'GET_RATE_API_SUCCESS': + + return {...state, rate: action.payload.data.value, status: action.payload.data.success} + case 'GET_RATE_API_FAILURE': + + return {...state, status: 'false'} + + default: + return {...state} + } +} \ No newline at end of file diff --git a/src/shopping-cart/thunks/get-rate.js b/src/shopping-cart/thunks/get-rate.js new file mode 100644 index 0000000..9fba2d5 --- /dev/null +++ b/src/shopping-cart/thunks/get-rate.js @@ -0,0 +1,9 @@ +import {getRateAttempt, getRateFailure, getRateSuccess} from "../actions"; +import axios from "axios"; + +export const getRate = async (dispatch) => { + dispatch(getRateAttempt()) + await axios.get('https://octa-api.herokuapp.com/rate') + .then(rate => dispatch(getRateSuccess(rate))) + .catch(() => dispatch(getRateFailure())) +} \ No newline at end of file diff --git a/src/startup/reducers/index.js b/src/startup/reducers/index.js index 69dbd0c..176746a 100644 --- a/src/startup/reducers/index.js +++ b/src/startup/reducers/index.js @@ -1,7 +1,8 @@ import {combineReducers} from "redux"; import {shoppingCartReducer} from "../../shopping-cart/reducers/shopping-cart"; import {sandwichMenuReducer} from "../../sandwich-menu/reducers/sandwich-menu"; +import {ratesReducer} from '../../shopping-cart/reducers/rates' export const rootReducers = combineReducers({ - shoppingCartReducer, sandwichMenuReducer + shoppingCartReducer, sandwichMenuReducer, ratesReducer }) \ No newline at end of file From 84190888fdff888884a51c15145aa5ff72ee6636 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:39:34 +0200 Subject: [PATCH 33/41] [react-restaurant] Follow-up extract component --- .../components/sandwich-menu.jsx | 21 ++++--------- .../containers/mui-data-table/data-table.jsx | 31 +++++++++++++++++++ 2 files changed, 37 insertions(+), 15 deletions(-) create mode 100644 src/sandwich-menu/containers/mui-data-table/data-table.jsx diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 3527e02..17023b3 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -1,24 +1,15 @@ -import MUIDataTable from 'mui-datatables' import React from "react"; -import {Box, Grid} from "@material-ui/core"; -import {columns} from "../containers/table-columns"; import {useSelector} from "react-redux"; -import {useSetOptions} from "../containers/options"; +import {DataTable} from "../containers/mui-data-table/data-table"; +import {Error} from '../../core/site-error/error' +import {Box} from "@material-ui/core"; export const Menu = () => { const data = useSelector(selector) - const options = useSetOptions(data, selector) - return <Box mt={5} mr={2}> - <Grid container direction='row' justify='center' spacing={2}> - <MUIDataTable - columns={columns} - data={data} - options={options} - title={'Sandwiches'} - /> - </Grid> + return <Box> + {data.status === true ? <DataTable data={data.data} selector={selector} /> : <Error />} </Box> } -const selector = ({ sandwichMenuReducer }) => sandwichMenuReducer.items; +const selector = ({ sandwichMenuReducer }) => sandwichMenuReducer.items; diff --git a/src/sandwich-menu/containers/mui-data-table/data-table.jsx b/src/sandwich-menu/containers/mui-data-table/data-table.jsx new file mode 100644 index 0000000..8f23459 --- /dev/null +++ b/src/sandwich-menu/containers/mui-data-table/data-table.jsx @@ -0,0 +1,31 @@ +import {Box, Grid, IconButton} from "@material-ui/core"; +import MUIDataTable from "mui-datatables"; +import {columns} from "../table-columns-api"; +import React from "react"; +import {useSetOptions} from "../options"; +import AddShoppingCartIcon from "@material-ui/icons/AddShoppingCart"; +import {useOnAddCart} from "../hooks/use-on-add-cart"; + +export const DataTable = ({data, selector}) =>{ + const onClick = useOnAddCart(selector); + const options = useSetOptions(data) + + return <Box mt={5} mr={2}> + <Grid container direction='row' justify='center' spacing={2}> + <MUIDataTable + columns={columns} + data={data} + options={options} + title={'Sandwiches'} + /> + </Grid> + <Grid container direction='row' justify='center' spacing={2}> + <Grid item xs={4} sm={3} md={2} lg={1} > + <IconButton onClick={onClick}> + Adauga in cos + <AddShoppingCartIcon/> + </IconButton> + </Grid> + </Grid> + </Box> +} \ No newline at end of file From 267932eca36505e435961da61b203fae6980ea61 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:39:55 +0200 Subject: [PATCH 34/41] [react-restaurant] Follow-up added key to mapping --- src/menu/containers/food-cards/food-cards.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/containers/food-cards/food-cards.jsx b/src/menu/containers/food-cards/food-cards.jsx index 1d91138..f472ad2 100644 --- a/src/menu/containers/food-cards/food-cards.jsx +++ b/src/menu/containers/food-cards/food-cards.jsx @@ -5,7 +5,7 @@ import {FoodCard} from "../food-card/food-card"; export const FoodCards = () =><Box mr={5} mb={2} ml={5}> <Grid container direction='row' justify='space-around' spacing={8}> {useMenuContext().data.map(foodItem => - <Grid item xs={12} sm={12} md={12} lg={3}> + <Grid item xs={12} sm={12} md={12} lg={3} key={foodItem.id}> <FoodCard foodItem={foodItem} /> </Grid> )} From 144801206a20c0eba091b4fbfd68422c073bc792 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:40:22 +0200 Subject: [PATCH 35/41] [react-restaurant] Follow-up change badge to navbar --- .../navbar-shopping-cart.jsx | 17 +++++++++++++++++ src/core/navbar/navbar.jsx | 3 ++- src/sandwich-menu/containers/options.jsx | 18 ++---------------- 3 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 src/core/navbar/navbar-shopping-cart/navbar-shopping-cart.jsx diff --git a/src/core/navbar/navbar-shopping-cart/navbar-shopping-cart.jsx b/src/core/navbar/navbar-shopping-cart/navbar-shopping-cart.jsx new file mode 100644 index 0000000..568b3b0 --- /dev/null +++ b/src/core/navbar/navbar-shopping-cart/navbar-shopping-cart.jsx @@ -0,0 +1,17 @@ +import {Badge, IconButton} from "@material-ui/core"; +import {useRoutesOnClick} from "../hooks/use-routes-on-click"; +import React from "react"; +import {useSelector} from "react-redux"; + +export const NavbarShoppingCart = ({link, icon, edge = 'start'}) => { + const onClick = useRoutesOnClick(link); + const shoppingCartData = useSelector(selector) + + return <IconButton onClick={onClick} edge={edge} aria-label='menu'> + <Badge badgeContent={shoppingCartData ? shoppingCartData.length : 0} color='secondary'> + {icon} + </Badge> + </IconButton> +} + +const selector = ({shoppingCartReducer}) => shoppingCartReducer.items \ No newline at end of file diff --git a/src/core/navbar/navbar.jsx b/src/core/navbar/navbar.jsx index af7ba46..f82765e 100644 --- a/src/core/navbar/navbar.jsx +++ b/src/core/navbar/navbar.jsx @@ -4,6 +4,7 @@ import {RestaurantMenu} from "@material-ui/icons"; import {NavbarIcons} from "./navbar-icons/navbar-icons"; import {NavbarTitle} from "./navbar-title/navbar-title"; import AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart'; +import {NavbarShoppingCart} from "./navbar-shopping-cart/navbar-shopping-cart"; export const NavBar = () => <AppBar position ='static'> @@ -11,6 +12,6 @@ export const NavBar = () => <NavbarIcons link={'/'} icon={<HomeIcon/>} /> <NavbarIcons link={'/menu'} icon={<RestaurantMenu/>} /> <NavbarTitle text={'React Restaurant'} /> - <NavbarIcons link={'/menu/shopping-cart'} icon={<AddShoppingCartIcon/>} edge={'end'} /> + <NavbarShoppingCart link={'/menu/shopping-cart'} icon={<AddShoppingCartIcon/>} edge={'end'} /> </Toolbar> </AppBar> \ No newline at end of file diff --git a/src/sandwich-menu/containers/options.jsx b/src/sandwich-menu/containers/options.jsx index 2068ad5..02ee4ed 100644 --- a/src/sandwich-menu/containers/options.jsx +++ b/src/sandwich-menu/containers/options.jsx @@ -1,14 +1,10 @@ -import {Badge, Box, IconButton, Toolbar} from "@material-ui/core"; -import AddShoppingCartIcon from "@material-ui/icons/AddShoppingCart"; import {Title} from "./details/title"; import {ShowDetails} from "./details/body"; import React from "react"; import {useSandwichContext} from "./hooks/use-sandwich-context"; -import {useOnAddCart} from "./hooks/use-on-add-cart"; -export const useSetOptions = (data, selector) => { +export const useSetOptions = (data) => { const {selected, setSelected} = useSandwichContext(); - const onClick = useOnAddCart(selector); const options = { filterType: 'dropdown', viewColumns: false, @@ -25,17 +21,7 @@ export const useSetOptions = (data, selector) => { selectableRowsHeader: false, onRowSelectionChange: (currentRowsSelected, allRowsSelected, rowsSelected) => setSelected(rowsSelected), expandableRows: true, - customToolbarSelect: () => - <Toolbar> - <Box mr={5}> - <IconButton onClick={onClick}> - <div>Adauga in cos</div> - <Badge badgeContent={selected.length} color='secondary'> - <AddShoppingCartIcon/> - </Badge> - </IconButton> - </Box> - </Toolbar>, + customToolbarSelect: () =><div></div>, renderExpandableRow: (rowData, rowMeta) => <> <Title/> <ShowDetails value={data[rowMeta.dataIndex].ingredients}/> From 170fc7c32c966b468f106e6dd9d8679d326ecb8d Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 10:40:50 +0200 Subject: [PATCH 36/41] [react-restaurant] Follow-up remove line break --- src/App.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/App.js b/src/App.js index 41b97be..bb10467 100644 --- a/src/App.js +++ b/src/App.js @@ -5,7 +5,6 @@ import {BrowserRouter as Router} from "react-router-dom"; import {Provider} from 'react-redux' import {store} from "./core/store/store" - const App = () => <Provider store={store}> <Router> From 471f1db9353a73a11e23dea34569fba30ed3db1c Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 16:36:43 +0200 Subject: [PATCH 37/41] [react-restaurant] Follow-up add yup validation to reducers --- .../components/sandwich-menu.jsx | 4 +- src/sandwich-menu/reducers/sandwich-menu.js | 37 +++++++++++++------ src/shopping-cart/reducers/rates.js | 25 ++++++++++--- src/shopping-cart/reducers/shopping-cart.js | 23 +++++++++--- 4 files changed, 64 insertions(+), 25 deletions(-) diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 17023b3..940499a 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -6,9 +6,9 @@ import {Box} from "@material-ui/core"; export const Menu = () => { const data = useSelector(selector) - + console.log(data, "this is data") return <Box> - {data.status === true ? <DataTable data={data.data} selector={selector} /> : <Error />} + {data.status === 'true' ? <DataTable data={data.data} selector={selector} /> : <Error />} </Box> } diff --git a/src/sandwich-menu/reducers/sandwich-menu.js b/src/sandwich-menu/reducers/sandwich-menu.js index 8c709aa..3fd26b9 100644 --- a/src/sandwich-menu/reducers/sandwich-menu.js +++ b/src/sandwich-menu/reducers/sandwich-menu.js @@ -1,24 +1,37 @@ -const initialState = { - items: { - data: [], - status: 'false', - } +import * as yup from 'yup' +import {Record} from "immutable"; + +const SchemaState = yup.object().noUnknown() + .shape({ + items: yup.object().noUnknown() + .shape({ + data: yup.array() + .default([]), + status: yup.string() + .default('false') + }) +}) + +const makeState = data =>{ + const casted = new Record(SchemaState.cast(data))().toJS() + + return {...SchemaState.default(), ...casted} } -export const sandwichMenuReducer = (state = initialState, action) =>{ +export const sandwichMenuReducer = (state = makeState(), action) =>{ switch (action.type){ case 'GET_ALL_SANDWICHES_API_ATTEMPT': - - return {...state} - case 'GET_ALL_SANDWICHES_API_SUCCESS': - return {...state, items: {data: [...action.payload.data], status: action.payload.success}} + return makeState({...state}) + case 'GET_ALL_SANDWICHES_API_SUCCESS': + + return makeState({...state, items: {data: [...action.payload.data], status: action.payload.success}}) case 'GET_ALL_SANDWICHES_API_FAILURE': - return {...state, items: {status: 'false'}} + return makeState({...state, items: {status: 'false'}}) default: - return {...state} + return makeState({...state}) } } \ No newline at end of file diff --git a/src/shopping-cart/reducers/rates.js b/src/shopping-cart/reducers/rates.js index 1a96c6c..5ab3ccd 100644 --- a/src/shopping-cart/reducers/rates.js +++ b/src/shopping-cart/reducers/rates.js @@ -1,21 +1,36 @@ +import * as yup from "yup" +import {Record} from "immutable"; + const initialState = { rate: 0, status: 'false' } -export const ratesReducer = (state = initialState, action) => { +const SchemaState = yup.object().noUnknown() + .shape({ + rate: yup.number().default(0), + status: yup.string().default('false') + }) + +const makeState = data =>{ + const casted = new Record(SchemaState.cast(data))().toJS() + + return {...SchemaState.default(),...casted} +} + +export const ratesReducer = (state = makeState(), action) => { switch(action.type){ case 'GET_RATE_API_ATTEMPT': - return {...state} + return makeState({...state}) case 'GET_RATE_API_SUCCESS': - return {...state, rate: action.payload.data.value, status: action.payload.data.success} + return makeState({...state, rate: action.payload.data.value, status: action.payload.data.success}) case 'GET_RATE_API_FAILURE': - return {...state, status: 'false'} + return makeState({...state, status: 'false'}) default: - return {...state} + return makeState({...state}) } } \ No newline at end of file diff --git a/src/shopping-cart/reducers/shopping-cart.js b/src/shopping-cart/reducers/shopping-cart.js index 0051d79..dbbd578 100644 --- a/src/shopping-cart/reducers/shopping-cart.js +++ b/src/shopping-cart/reducers/shopping-cart.js @@ -1,22 +1,33 @@ -const initialState = { - items: [] +import * as yup from "yup" +import {Record} from "immutable"; + +const SchemaState = yup.object().noUnknown() + .shape({ + items: yup.array() + .default([]) + }) + +const makeState = data => { + const casted = new Record(SchemaState.cast(data))().toJS() + + return {...SchemaState.default(), ...casted} } -export const shoppingCartReducer = (state = initialState, action) =>{ +export const shoppingCartReducer = (state = makeState(), action) =>{ switch (action.type){ case 'ADD_ITEM_TO_SHOPPING_CART': const {data, selectedAdd} = action.payload; const itemsToAdd = selectedAdd.map(selectIndex => data[selectIndex]) - return {...state , items: [...state.items, ...itemsToAdd]} + return makeState({...state , items: [...state.items, ...itemsToAdd]}) case 'REMOVE_ITEM_FROM_SHOPPING_CART': const {selectedDelete, shoppingCartData} = action.payload const itemsToDelete = selectedDelete.map(item => shoppingCartData[item]) - return {...state, items: state.items.filter(item => !itemsToDelete.includes(item))} + return makeState({...state, items: state.items.filter(item => !itemsToDelete.includes(item))}) default: - return state; + return makeState({...state}); } } \ No newline at end of file From c557421c4275590cfbe296eef3c48ea7e671d902 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Tue, 9 Mar 2021 16:37:32 +0200 Subject: [PATCH 38/41] [react-restaurant] Follow-up remove initial state --- src/shopping-cart/reducers/rates.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/shopping-cart/reducers/rates.js b/src/shopping-cart/reducers/rates.js index 5ab3ccd..b4bf2a8 100644 --- a/src/shopping-cart/reducers/rates.js +++ b/src/shopping-cart/reducers/rates.js @@ -1,11 +1,6 @@ import * as yup from "yup" import {Record} from "immutable"; -const initialState = { - rate: 0, - status: 'false' -} - const SchemaState = yup.object().noUnknown() .shape({ rate: yup.number().default(0), From e38d7f05593c6eb917748278381caf72ff587df9 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Wed, 10 Mar 2021 16:33:50 +0200 Subject: [PATCH 39/41] [redux-observable] added epic middleware --- package-lock.json | 15 +++++++++++++++ package.json | 4 +++- src/App.js | 5 ++++- src/core/store/store.js | 10 ++++++++-- src/startup/epics/index.js | 7 +++++++ 5 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 src/startup/epics/index.js diff --git a/package-lock.json b/package-lock.json index 35c1014..0c54c28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13288,6 +13288,12 @@ "symbol-observable": "^1.2.0" } }, + "redux-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redux-observable/-/redux-observable-1.2.0.tgz", + "integrity": "sha512-yeR90RP2WzZzCxxnQPlh2uFzyfFLsfXu8ROh53jGDPXVqj71uNDMmvi/YKQkd9ofiVoO4OYb1snbowO49tCEMg==", + "dev": true + }, "redux-thunk": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", @@ -13785,6 +13791,15 @@ "aproba": "^1.1.1" } }, + "rxjs": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", + "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", diff --git a/package.json b/package.json index e9a136a..ea59324 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,8 @@ "react-redux": "^7.2.2", "react-router-dom": "^5.2.0", "redux": "^4.0.5", - "yup": "^0.32.9" + "yup": "^0.32.9", + "redux-observable": "^1.2.0", + "rxjs": "^6.6.6" } } diff --git a/src/App.js b/src/App.js index bb10467..8cff8ea 100644 --- a/src/App.js +++ b/src/App.js @@ -3,7 +3,10 @@ import './App.css'; import {Routes} from "./core/routes/routes"; import {BrowserRouter as Router} from "react-router-dom"; import {Provider} from 'react-redux' -import {store} from "./core/store/store" +import {configureStore} from "./core/store/store" + +const store = configureStore() + const App = () => <Provider store={store}> diff --git a/src/core/store/store.js b/src/core/store/store.js index d3167ac..45c841e 100644 --- a/src/core/store/store.js +++ b/src/core/store/store.js @@ -1,5 +1,11 @@ import {createStore, applyMiddleware} from "redux"; -import thunk from "redux-thunk" import {rootReducers} from "../../startup/reducers/index"; +import {createEpicMiddleware} from 'redux-observable' +import {rootEpic} from "../../startup/epics"; -export const store = createStore(rootReducers,applyMiddleware(thunk)); \ No newline at end of file +export const configureStore = () => { + const epicMiddleWare = createEpicMiddleware(); + const store = createStore(rootReducers, applyMiddleware(epicMiddleWare)); + epicMiddleWare.run(rootEpic) + return store; +} \ No newline at end of file diff --git a/src/startup/epics/index.js b/src/startup/epics/index.js new file mode 100644 index 0000000..30c0e6c --- /dev/null +++ b/src/startup/epics/index.js @@ -0,0 +1,7 @@ +import {combineEpics} from 'redux-observable' +import {sandwichMenuEpic} from "../../sandwich-menu/epics/sandwich-menu"; +import {getRateEpic} from "../../shopping-cart/epics/get-rate"; + +export const rootEpic = combineEpics( + sandwichMenuEpic, getRateEpic +); \ No newline at end of file From e9050414e1d45f1010e8dd72c4f83efeb9bd8a2c Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Wed, 10 Mar 2021 16:34:06 +0200 Subject: [PATCH 40/41] [redux-observable] added sandwich epic --- src/sandwich-menu/components/sandwich-menu.jsx | 2 +- src/sandwich-menu/epics/sandwich-menu.js | 11 +++++++++++ src/sandwich-menu/thunks/get-sandwiches.js | 9 --------- 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 src/sandwich-menu/epics/sandwich-menu.js delete mode 100644 src/sandwich-menu/thunks/get-sandwiches.js diff --git a/src/sandwich-menu/components/sandwich-menu.jsx b/src/sandwich-menu/components/sandwich-menu.jsx index 940499a..57ddbdf 100644 --- a/src/sandwich-menu/components/sandwich-menu.jsx +++ b/src/sandwich-menu/components/sandwich-menu.jsx @@ -6,7 +6,7 @@ import {Box} from "@material-ui/core"; export const Menu = () => { const data = useSelector(selector) - console.log(data, "this is data") + return <Box> {data.status === 'true' ? <DataTable data={data.data} selector={selector} /> : <Error />} </Box> diff --git a/src/sandwich-menu/epics/sandwich-menu.js b/src/sandwich-menu/epics/sandwich-menu.js new file mode 100644 index 0000000..2adaba0 --- /dev/null +++ b/src/sandwich-menu/epics/sandwich-menu.js @@ -0,0 +1,11 @@ +import {ofType} from "redux-observable"; +import {catchError, map, mergeMap} from "rxjs/operators" +import {GET_ALL_SANDWICHES_API_ATTEMPT, getItemsApiFailure, getItemsApiSuccess} from "../actions"; +import axios from "axios"; +import {from} from "rxjs"; + +export const sandwichMenuEpic = action$ => action$ + .pipe(ofType(GET_ALL_SANDWICHES_API_ATTEMPT)) + .pipe(mergeMap(() => axios.get('https://octa-api.herokuapp.com/'))) + .pipe(map(response => getItemsApiSuccess(response.data))) + .pipe(catchError(error => from([getItemsApiFailure()]))); \ No newline at end of file diff --git a/src/sandwich-menu/thunks/get-sandwiches.js b/src/sandwich-menu/thunks/get-sandwiches.js deleted file mode 100644 index 0113790..0000000 --- a/src/sandwich-menu/thunks/get-sandwiches.js +++ /dev/null @@ -1,9 +0,0 @@ -import {getItemsApiAttempt, getItemsApiFailure, getItemsApiSuccess} from "../actions"; -import axios from "axios"; - -export const getAllSandwichApi = async (dispatch) => { - dispatch(getItemsApiAttempt()) - await axios.get('https://octa-api.herokuapp.com/') - .then(data => dispatch(getItemsApiSuccess(data.data))) - .catch(() => dispatch(getItemsApiFailure())) -} \ No newline at end of file From 26b10ce29ee57f73599e7dd84c2279611cf384a9 Mon Sep 17 00:00:00 2001 From: floare <adifloare1969@gmail.com> Date: Wed, 10 Mar 2021 16:34:37 +0200 Subject: [PATCH 41/41] [redux-observable] added rate epic --- src/sandwich-menu/containers/hooks/use-init.js | 7 ++----- src/shopping-cart/containers/hooks/use-init.js | 7 ++----- src/shopping-cart/epics/get-rate.js | 11 +++++++++++ src/shopping-cart/thunks/get-rate.js | 9 --------- 4 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 src/shopping-cart/epics/get-rate.js delete mode 100644 src/shopping-cart/thunks/get-rate.js diff --git a/src/sandwich-menu/containers/hooks/use-init.js b/src/sandwich-menu/containers/hooks/use-init.js index a93542a..5d41ce7 100644 --- a/src/sandwich-menu/containers/hooks/use-init.js +++ b/src/sandwich-menu/containers/hooks/use-init.js @@ -1,11 +1,8 @@ -import {useSandwichContext} from "./use-sandwich-context"; import {useEffect} from "react"; import {useDispatch} from "react-redux"; -import {getAllSandwichApi} from "../../thunks/get-sandwiches" +import {getItemsApiAttempt} from "../../actions"; export const useInit = () =>{ - const {setSelected} = useSandwichContext(); const dispatch = useDispatch() - useEffect(() => dispatch(getAllSandwichApi),[]) - useEffect(() => setSelected(() => []),[]) + useEffect(() => dispatch(getItemsApiAttempt()),[dispatch]) } \ No newline at end of file diff --git a/src/shopping-cart/containers/hooks/use-init.js b/src/shopping-cart/containers/hooks/use-init.js index 403a384..c4b5b7f 100644 --- a/src/shopping-cart/containers/hooks/use-init.js +++ b/src/shopping-cart/containers/hooks/use-init.js @@ -1,11 +1,8 @@ -import {useShoppingCartContext} from "./use-shopping-cart-context"; import {useEffect} from "react"; import {useDispatch} from "react-redux"; -import {getRate} from "../../thunks/get-rate"; +import {getRateAttempt} from "../../actions"; export const useInit = () => { - const {setSelected} = useShoppingCartContext() const dispatch = useDispatch() - useEffect(() => dispatch(getRate)) - useEffect(() => setSelected([]),[]) + useEffect(() => dispatch(getRateAttempt())) } \ No newline at end of file diff --git a/src/shopping-cart/epics/get-rate.js b/src/shopping-cart/epics/get-rate.js new file mode 100644 index 0000000..10f28c8 --- /dev/null +++ b/src/shopping-cart/epics/get-rate.js @@ -0,0 +1,11 @@ +import {ofType} from "redux-observable"; +import {GET_RATE_API_ATTEMPT, getRateFailure, getRateSuccess} from "../actions"; +import {mergeMap, map, tap, catchError} from "rxjs/operators"; +import axios from "axios"; +import {from} from "rxjs"; + +export const getRateEpic = action$ => action$ + .pipe(ofType(GET_RATE_API_ATTEMPT)) + .pipe(mergeMap(() => axios.get('https://octa-api.herokuapp.com/rate'))) + .pipe(map(response => getRateSuccess(response))) + .pipe(catchError(err => from([getRateFailure()]))) \ No newline at end of file diff --git a/src/shopping-cart/thunks/get-rate.js b/src/shopping-cart/thunks/get-rate.js deleted file mode 100644 index 9fba2d5..0000000 --- a/src/shopping-cart/thunks/get-rate.js +++ /dev/null @@ -1,9 +0,0 @@ -import {getRateAttempt, getRateFailure, getRateSuccess} from "../actions"; -import axios from "axios"; - -export const getRate = async (dispatch) => { - dispatch(getRateAttempt()) - await axios.get('https://octa-api.herokuapp.com/rate') - .then(rate => dispatch(getRateSuccess(rate))) - .catch(() => dispatch(getRateFailure())) -} \ No newline at end of file

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