From 1736904bc3622c6f6170942400ff696f29598ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Thu, 7 Apr 2022 21:03:02 -0500 Subject: [PATCH 01/13] ejemplo1 --- pages/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/index.js b/pages/index.js index dc4b640..8ef5693 100644 --- a/pages/index.js +++ b/pages/index.js @@ -6,7 +6,7 @@ export default function Home() { return (
- Create Next App + Create Next App kiubo chavo -- 2.43.0 From c0a03c4b9d86a06b6f670164ee195403e4c6071d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Tue, 12 Apr 2022 09:19:03 -0500 Subject: [PATCH 02/13] =?UTF-8?q?elaboraci=C3=B3n=20del=20Login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/layouts/footer.js | 21 ++++++++++ components/layouts/header.js | 38 ++++++++++++++++++ components/layouts/layout.js | 15 ++++++++ components/layouts/nav.js | 5 +++ components/login/login.js | 72 +++++++++++++++++++++++++++++++++++ pages/_app.js | 1 + pages/index.js | 70 ++-------------------------------- pages/login.js | 18 +++++++++ public/Logo-UNAM.png | Bin 0 -> 19083 bytes public/logo_fesa.png | Bin 0 -> 16330 bytes styles/default.module.css | 30 +++++++++++++++ styles/general.module.css | 4 ++ styles/globals.css | 38 +++++++++++++++++- 13 files changed, 244 insertions(+), 68 deletions(-) create mode 100644 components/layouts/footer.js create mode 100644 components/layouts/header.js create mode 100644 components/layouts/layout.js create mode 100644 components/layouts/nav.js create mode 100644 components/login/login.js create mode 100644 pages/login.js create mode 100644 public/Logo-UNAM.png create mode 100644 public/logo_fesa.png create mode 100644 styles/default.module.css create mode 100644 styles/general.module.css diff --git a/components/layouts/footer.js b/components/layouts/footer.js new file mode 100644 index 0000000..b70c3a8 --- /dev/null +++ b/components/layouts/footer.js @@ -0,0 +1,21 @@ +import styles from "../../styles/default.module.css"; + +function Footer() { + return ( +
+

+ Hecho en México, todos los derechos reservados 2021. +

+

+ Esta página puede ser reproducida con fines no lucrativos, siempre y + cuando no se mutile, se cite la fuente +

+

+ completa y su dirección electrónica. De otra forma, requiere permiso + previo por escrito de la institución. +

+
+ ); +} + +export default Footer; diff --git a/components/layouts/header.js b/components/layouts/header.js new file mode 100644 index 0000000..db1d87e --- /dev/null +++ b/components/layouts/header.js @@ -0,0 +1,38 @@ +import Image from "next/image"; +import LogoUnam from "./../../public/Logo-UNAM.png"; +import LogoFes from "./../../public/logo_fesa.png"; +import styles from "../../styles/default.module.css"; +import { Container, Row, Col } from "react-bootstrap"; + +function Header() { + return ( +
+ +
+ + logo unam + +
+ +
+ + logo unam + +
+ +
+
+ ); +} + +export default Header; diff --git a/components/layouts/layout.js b/components/layouts/layout.js new file mode 100644 index 0000000..28f4957 --- /dev/null +++ b/components/layouts/layout.js @@ -0,0 +1,15 @@ +import Header from "./header"; +import Nav from "./nav"; +import Footer from "./footer"; + + +const Layout = (props) => ( +
+
+
+); + +export default Layout; diff --git a/components/layouts/nav.js b/components/layouts/nav.js new file mode 100644 index 0000000..977e814 --- /dev/null +++ b/components/layouts/nav.js @@ -0,0 +1,5 @@ +const Nav = () => { + return

; +}; + +export default Nav \ No newline at end of file diff --git a/components/login/login.js b/components/login/login.js new file mode 100644 index 0000000..e7cf310 --- /dev/null +++ b/components/login/login.js @@ -0,0 +1,72 @@ +//como hacer un campo de entrada o un input props.entrada1 +import React,{useState} from 'react'; +function Log(props) { + const [radio,setRadio]=useState("profesor"); + return ( +
+
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
+
+
+

LOGIN

+
+
+ {setRadio(e.target.value)}}/> + +
+
+ {setRadio(e.target.value)}}/> + +
+
+ {setRadio(e.target.value)}}/> + +
+
+
+

+ {(() => { + switch (radio) { + case "profesor": return <>



+ ; + case "operador": return <>



+ ; + case "admin": return <>



+ ; + } + })()} +

+
+
+
+
+ ); +} +export default Log; diff --git a/pages/_app.js b/pages/_app.js index 1e1cec9..c00b7ee 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -1,4 +1,5 @@ import '../styles/globals.css' +import 'bootstrap/dist/css/bootstrap.min.css'; function MyApp({ Component, pageProps }) { return diff --git a/pages/index.js b/pages/index.js index 8ef5693..0ee0ed4 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,69 +1,5 @@ -import Head from 'next/head' -import Image from 'next/image' -import styles from '../styles/Home.module.css' +import Layout from "../components/layouts/layout"; -export default function Home() { - return ( -
- - Create Next App kiubo chavo - - - +const Index = () => Esta es la página principal; -
-

- Welcome to Next.js! -

- -

- Get started by editing{' '} - pages/index.js -

- - -
- - -
- ) -} +export default Index; \ No newline at end of file diff --git a/pages/login.js b/pages/login.js new file mode 100644 index 0000000..e5602a1 --- /dev/null +++ b/pages/login.js @@ -0,0 +1,18 @@ +import Layout from '../components/layouts/layout' +import 'bootstrap/dist/css/bootstrap.min.css'; +import Log from '../components/login/login' +//import Link from 'next/link' +import Head from 'next/head' + +export default function Login(){ + return( + + + Login-Medallas + +
+ +
+
+ ) +} diff --git a/public/Logo-UNAM.png b/public/Logo-UNAM.png new file mode 100644 index 0000000000000000000000000000000000000000..9c169ee34884619ad2d389aafade5036b389c390 GIT binary patch literal 19083 zcmZsC2RK{bAGaNQwkTrPs!fd`R?Q+tTbrmVYDLAYJ!`k6c1WnwR&8oaXlW^8&sOXi zd(YSJ|NFo5dGkCsIrrS}Jl}h6&b^<{jW;&Zp`m1>Bp@K5(bIikNfLjL%#2ub_J#`Wf@POS& z6A&l|fNq)|PH+eA01tOhA5ee_?|&pfH|>AAC3w02BLa6*;k7U{=GOFj>BN0sTvl9? z7fi{`&8__M*>jNT1MUB+-|VUIy1?Nukc5Q4zrVP@jJVfJX9+1qMMVioX$fg*u^S07 zpFmHzLx7m458uB={->P>PCkw=U14xnFHi1&>^eO4@`bDL^8VxKe|`Rq6Yl!_e|z%u z`EOb`2}=BPL_$hjQsV!oc9ZP?itqo@3UGk^tMs3&{&lAOk0}u3rK{6Txc>wNmQwzY z`Twi$e+Q?0V;!XV(#Zkt_41LImpfSfpRwlF^Kfu>GIerz7N{)o|4RH<|exU!Pt(x%Z zWx=-cK(mbhdbW(rN`LF@x8~8%_rD@ZsXjBjCmsF#*qVMVcJZr*G4Mr)RVCSoFv}JC zu&0u7BwP`S@PdM~oKM6iQa#EkKPEo4+^C=!yJmAAH-6rkDM{C+Ij~Jm^)8vmHj_&e zWh`Y{t2Ri~+ehRH2a=yxjeL5R`v_o41?T+|WptP0_lxhow?I)JcN7g`ndwtL@a)2P z4_`xmmUj;iBpx_Sg(7RPb0cKu)PmKtyD)*dV7Tnj*Ztuti=%s$$(DA*^_POE)b|Zn zQss#bgG5?XqG42JjQug#VLi7}I?!zh3+T3dTmSqkn9qj0vUOincD~NFR(d$Qjq@VKiVW5@V7~GSbTFQRW$F&W5(T#msh4)!RuZm4w@4r+bx@9pkK^l( z>~Y~GxnXK%rNl=I@!E)y;j{_BK|Gh(xn2B0;Vm)aTC{Y1cnL8?BwtqfZiAvc5f=o` z%ZDEB656>{sOfFSo>O85W7>G5>_JU}2u~3)Qp@*y(2X>Exv)_Q*T0LD*$oo4=x0jB zPgex>ks|Ef0@!t=7~%$_Pwq+H79A#nn|4A&b{3zWM^04@$H=?8r@9o zD=}Lm&%fnI2w?|hrJ|F|nP5fVNPs%-(0%2#-$V&Ucc$7}P!*nR~m z4tni~x?@A+h-qsF0EfXyBM_?=V2R=dWfo_@p<|e|B(28Kq}XZ)0GtiIMmxgP5rla zFK=o`1|iI+4L+Vr9QHuTH&pqGg0Dtm#L$Lc9bJh57(XmYaC#1*HRctTjy7Cnj#gfQ z9l@>095zwnajLr%ze<%w4iX1u39>?jK_5d<#98J0CV~+CqoNd$I3g+42$WYZN!Ar% z3Ue>c{86AqbxW+WMHJUP(neq#MH@!r7M0Sa!wrmGC0ABaR-YtH_khg2bc+y-GIyY> zESu-+v#YG~?)mm1zaPbIla>cIe4$r}U*&cmW-<`lG5O_Z6vcov+kG~__8G7`0@ofh z0|5JEE0ZfQ-9;*E3$|x$I=aRlgs%S%^O8%%!RrTMK$+kRRwD4zlXvhC7aCAD#(e}& zVIEb2VTvpv<8lhl8{%OdCtOqbJuYRbx()s8jelMMXlu@<%m2U@v27~4L1hP#CC2$m z_O)%!GNq=zh>H{iB2Wfoh&}+aMv>MEwV$kzxt(Z4=JwC*TyiIrudk*JAX)=};?hu3 zLLeZ7JT9UicT28}R_)G@u0!ud8m#Lkxh zbd`)dSwgB#f{~VvL-RD|ASo!?79$s`b$*)GO=mf^65R=XI6H{A19Vk@-Cj(x)&aIBY%U=8iAhl47X zXN}|*L>d$ihDkU%GX+UczQGw|2?L1+cQ+}aQv%6X zJ8*waZl`K(8#;Zg#s%ZB#WC&tF;wpHw){6&J7#QEKq0JV1FG!cPQnt&Zmxr6f|G#m z$a_)-!xH?@&OpY zc*d3zZMnm{`daz)fb#C~>8&w;jfsw` z*juPTiI3G*{FwtZny8fzE!x;iw;%1i^$f%E#D{GBOkX6?FM4=f!qlpe*4nW2dC1eX z*5vVdFRz!Luienz!$O~0kA~79ld+dot|FhAmY7TW64oVLtq#6@ILt6V-8*XxybWRX ze2M5#!twojg%idwC6y#jVae7pu1LO}#VX+>0E7dS7JA1s6v7Sq_!!gY83wuojJdqS zMNyApQY6R=Mr8Cmi~o+=Mw|8N;T#8pu=He69$wTSzUg!N=aG)tWcms@LtlzdWSD0Q znJ4BmtP?(87P#vxiS=Z(KZ8CT3T<--+qGSP-s{P{yuP%uR_My=gsT^pyq?8$<6^f+ zm}(lv^A%#9T)~t;I!(2bq8b`X=MU4x$ssQ#ifnltLgDprh}ON&k_y3>Nk96(QCxs6=xj9Bf2}n44X5 z(_i$)BP4p(=zV)q=EQqKv^g<_+aF9)jN^ht3;_07VZcC}YlzU22Z0iDQsLdB-^v`M^)OA$UB?q{z0Bfnge7X-LHH5p5o?X>~rc^U{Gf}Pkhq@ zMW)wWy12drhrKf&+mD957pC!7fjH*@}}nTQ^kduL-hB?S0mbh%cZlPzw_pe*PqO z(bUoaVK!$oS()v25zI<4H5|eg_@H-6$Xs>l@ev=~=FzDT3x2UDj&|!$Cz3{)!tCO4 z#QXS$w}@b%dY@>y)E|O*+hHutW-KSUk%pM$wu1{%E7Wj;!zgye_^EQp32V`u8_YxX zJ*5-g->iYOjTqSFSt*eeLxZ{-OqIsXjAGi3^s4FiXS=(Z12Xr?aW8uBysFAw5fn|}99IpW)1m`2j>o9 z=km5v*q{pZ8BPOFa~}4o&MNLIMcpud&Ha+^s2~0w`XmxkB8q&aQcJG&=-TS57{hD)&gg#-s!@S$%Av3 z`b>4>PZLk7Sx~gD{t9=>$$rS0hFQ+k(i<3$WxO>pTEW(QZWK<6m$RX^r_ZP=@pv-A zwH9;QyW$Lr-eTwq`t&pZ(dniZUZK>;h$tUtT!z>fKY;1&C^C{~pG3C)_=x(hArAWs+ zfC`7+x%7Cms0DwNlDtI3(O*I^GEcCFKYc}7tSN&Z9y7N?>*|Vm+a8$lHxCA0J+T+O z-nX#_dEl?_Qb+KiZkMhkrXSiS>`wu6BHW(I9`J0Z<(s%1_B&L|qlY`GHo)^WH@@rQy2eZ9B!47NH00(q?DK1+T&YK+`OXW?NmN zXP^&mrdaqZ-}>D*;9~dFQ+c7H^4kfix>d-5!e}OU;`?X{529uEsn==6CQl;6qPlh7 z!{1symlQh2e5vHzM0oSg_3a45!@1Nn*NvCaw~X5W8?NNTZKUV>7OU|;+EPe;z2_`K zfs)s*u=#dk2-q!hKGO0@^#>0()gPqZ_YDZ}ezGo9CSGBEbD{zj65caIhzVYCleZv_ z#pI^r^-t(ZX*}6{>-!iMZ67ENFqw~>T4j+(K`8@oS;7c*H;^%|(CPCCe6#qigpbK{ zG>bM0z?s_q8kE~2djsOAocCb)`SjG5GHi3ok&T0*zJkU^V%_?^LWwC;3nn>c1EW)% zx+l>M!EG(&eovU++z;{P2oP z=nJiwx=I)N6)wxS)S79W4B^21JBG~if_cxYIL|e~4=aaPj}xXZel2Lodw`_dluk5^-KqT7R7IEXok1M!Gq1{b#5IM9?W7I6f)UzP)nwk0W3h9% zrxSpglP{VmVvy*Z)kSWD1k+SE4OA7BoPmpEBOe40E^=>P-)Uf~C!%R$o`_@rLaTuN ziaE-=#qvT4R+SMBs*f~5+KFdf-}T;A+Cm^{W{4^x9hGh$#mqW3qb7!`MCQU@(1)?q zBB-7*trF+!w#vLHQh`bz5G@HcP=JZ2xd^8A$zeRNY7{fhK*YX2`QJzm6}j?W0sTE1 z*hGDZsL2ke=*pvWU7T;>8^E>aBE}QgMUT$Iuh3=|^g|@msY+?l9-oD|BBwZM_n9** zUH$m&D-vfl)ia-D;da7a8q$3ld7|O^@X5;3I_T^=a%<|Wpi*^{BIOixmgui%BR~<- zdIGc|0ui1A0qZk&%EN1LhN~1km>qdon^9CK(y%{zHZnv}9M5%RaQSvCr=4bo>YFCr z2_?rDkPSuupFZRTK|jjqqrAfPmbY&+y%FHLp)I8k%u#U^##QS~QQDaTZ34BCPN{kk zi$A2wS%tDiX_w~PDlvExunZBwV24m`=Jo^_vqF}y1LZ2kZTLfflZ~@?pHxx)gT3UB z^#_0bj(#;)k)Hj2bWU22ICP6zZ0;efN{NsO?WYRp6*5x?j&`;zR|@=&x_<0k81_5e z2lJO9;VHnQQP`b`MqNob!=E$Qe#!R0b>8Se91Ez8s1|c42$j8HSgK89H_0t9n7S9u z6ZNwK6GPQ&xX3%&`2A^P{GR_yM07Q%{BUmegQ`_dj=)T=mWK=77pJxLqPCRB>3k>( z8;#5MY$Udv-HpZ=u+jKQS>2s74bAjKqT>x}QGR)z4%_vh+~e3Hiz5H3@Pc*EhVPne z9JZ=aYZ||Mo=Nc0{hQ9wyAjP3`g=A#(T8VJwU@lP_@R8!(-Krm+KW!MfsQU; z5Sv7A-133xS zm+R)W5wz!T{Dj@Kd@Pm%GUHfB$HhT;&dQ|ycVbqL(J zKjkZCM}+vbZCFZ+@_8k$={(*(L@5`mzC&iwMi#&{XjIba1r`0yp}>h>tLyJ(Z>F8~ zmmcLAOTr&Uk6{^ZZHTmW>J{vm{=HumOu40g{8pMvJgz)FUe(iO7;XY zS5ouWVh&2LXfWTWncGv(G&EbB9v4wYzSv9j|wpY?Xhl&l;`a9lR9C zJR?_CJGg{4;y>NVGidAAM2z|Zjs3^ne+E6MJtZJ-{!yTT`qc4CO8%QqDe(6BFj=x% z$@a{>l!43Vwp^LrFnn8W9%B&bTLNAyH+ESkyD}_PH2If5^;V~g%yR07YR1?n!go2o zE6;;y?)691K}8$XY+i47p5aXN0gLFv`au&RT~nT~;NAO%YNCQ)BBQEjiRVldh;9ik zFbB{a#qHugPLhu}@(OXrjoKq_3l8{=@`#m-8dZ+`IKq!#)oMCD&36)I2Ps}vnoWpl z4FA~B<+Gw6Gh8F$UDB$&+_LmE@A$YwN%dRNq=mx8aYb70Saeeoa$(myTOb^> zu{Y3iOtZjLv+^@7+UpB4U1qE9r0y>DKDwim`gqWpBc>d%GN@B5Mp1`)H}xUOZ|eQV zbq5|su;?3_?{@s~^-*Ox?M1h)Ed1hh!)9i0S@CbeX7;@tcf4=gKyYYV>Z)p2hcTt& z;8jZT9Rp(gHtUz#5=tv>YOfj6m1RFdxwtAM&*3}qW$hhdg?MW;IV)vGO=uuRu`g}L zsQO}WV^)iwLtUh5$Ky)AO+YL9pxMFDg(4O61jz)itY7Q0BzErw+mcj^@*fl!E*wo0 ztw+xH4*eW&n{rjz5idq8hci0$bekfc>bjc7ZUd-6)>#r^YWLg4U^v!n$4CkDP<` zVz!1ptp|$yC3Wsp#AUe;Tq!%P8eEZp{H_<^>!UoTcBUF1*)ZvkNVI-FaTZBSUNTKk$Y57HZ=T&dQhmLl zkN+esE-oLDysmXWE6SH|giP>&xD-GaS(43%mKG-y^k$zReX6+vh{*qC!S$}H%Y96; z$W^0}$ENLsbSH-5?1#qm)ac4VyzCK3HflE9XP5SbQGD6q*7&fxAT}H{HJHlNPKF<& z*oy5`8;muPzq?p|%y-4>!KG!Jx_5VntRcJnH>HL-M0^c%P|vENBnXlbQRwr+DkXgFd~O#R#*lG|_l_iAd=yELuP z4&|>e+4*baQ>g{+<6~j@)utT?Rx#jP6QejO`%9jU@Un`9_;>*;k!+O4T!}7_>gMcz z-BtP9eU;QxBTRTlqhlBP_YRE4!p|8N3Fu6bB!deXA#=NxP$)->_4&mri##aH7!?u` z3dnr3wfusB#({W9Jl0G-wdj%wq?E#Q($b$AJALoqbG5JFxoP}0Cr$J z+Nf>5BjENFrU2W^vR=Oc95)Oh=AiWD;Xg}kd&)3bB6rMy=}V7pVE=1anAGpS(DH-z zkL>z3TjkgN&FPox8ZAn$g5iv`&%wK17Rj!%;s{s|a@_y(P;6)*)&nWgLYHv(zS45- z@fu{9UzK@9?OZ;ZHSuUX|5elyVugN#d2^WvE}4b`S_~Q%)xaXw)n1@>1cf#iU4Q4} zy6}W-C%;8&fg6wcT_tPxDe=nMgupmcJ4Hcl;?h+6Ra0-oI3F@<&;`<=%Sy@KnS&#n zW>`m)Sg?PLzzcu69$Ga$zvI!QP#*bkZU81b@vUhiFE=X4hE_sK0GP&v{5m>LA)C*_ zlIlM*MQ_vrs}oh}nNE>rjYa265}k!J&f*SYRt{~xg)bn9$GsSz05)nPUg7MFXQ;)W z9|u#*Q>0wWyEA)65vlx~;!LN|CeA#W@$ABoKh|-b zDz$i3? zPI7*uV;qSB6K~rEs_0sQ<|nG_Tdijvd|3~ZbSL^X&D0;Mqh7LpOmAaQB{^co4$5dm zMt5S@Tvoj4sWhEEPlcgvjDnx;)SgR}+XjeNnjjSds^6LIpGyk9@nc*irzLa}u^~S; z8;ki=3bBWQ+llU;?UjbzAJ0%BKO$UWKT(=7QtHnx+$yIzmz=GeQ{t5W9-zRck?I`Z zP9)eN*<)Ngl^MYTv%VWGShP$_YFXVQ2zYpBtBVdls_s~DY4$?wY z`cVa;rUmO%GXPB_;Y8-Uo_7UC#?hedT)hfnF$Zb|aQncab74w|GfcTZ6Q4(ua!zKP zxsIdol=X#+mqeVelEVg8Ikuu%)UqjB)h^RiD1hgOI4eamKf;av2`S4V;OPehjbUmZaDGQ zLgZt-UzCtROB=|+eD&Q<0bOt_;0I$$O618HSg+6%UjwTX;}DIS2fCYS#TewMG3$ zOgH#lwf%H;+tHBGT2+GV3QQb-a&9!3;^>pSz9XuX5-k75W1>CC=nK+oqd~jm-HJc> z1*5->OhZ1z;*+tTm^4DCyWQAwPtT~ol-cRK9F@H6p4*$TTO*Tajz9g0Ki8Zap%gHSyT+eiIBFAyYb>_|lF3TiA3>QV2*rx3d!_$jYuiUyV3fvJ|!fi+VE z`GrKkTO?VhmB&4Si*up3SFeFgZ~Q8`lxacfDLC8j&6r*+fHOjd`j87 zMk$v>)@Co@#8yOzuQfjde;vF&ymbUOeDbJ$$osMEvPjpv0}<7Xz45dyc`qx*?IFr~fXj7)w&2K}F;GO406FMpUHs=l1 zVvhibK?N5wE)B;$YkCm`hUS|4jZJ{^P}OQy`W%b_e=ZFHy6;1G4&bCGHs5$^i3%uI zqDokQbPJugvyBYMU2eq>B-zHF?|Bml&GkL3NKj2=7P5jiT5%&J;Y0`PdT5=D`!Y1j zrXQJT9n6MuIt?Wm;14pRN?t>7KC85GkrG2wCf(Z#t1a%LjTB6-|4^3C%?M~L7cZeyu)_=inBGEVC zj~{2@2@YmQymqPBSx>_P5+_iIUa98bTX-a67Quo8NT}_6;&w3MD}os{rINvZ*7*b@ z^zb16&aM!JQ$6pzW1l&eIVFl}&Jg?dL^^VTaMN~^0NZ0(HM85cA9m6PG$9zx|i+l;|V7WIEv?H0d!;< zOgpy8xmU6~w+^J?A7~$cIb~RMpU?OE9OaGZma7D;T9Bbxa1_75&XL=Xm0N|tBEE${ z-~fK)*nG-E$w&eW`t&f&IGCkYszh+C)D%YWI!IZ z;p5G!OlGSNkfwr@<;&7WRLliog=Z+*ULyec;xo7nj1si<2&Xd&89sXc-9N_8=6tAu zVK>8=$QmPnbaW+q6;9jR2DiJ5r43fDv4toUp=b4Wfsl8EB5!3wYZ}DOOE_PYc0cif~3XtpGV|CSO)IPuZng`e5$scntqU&`h{cGUdsgy3fpL+Vz$@*@1vN}cqMxGscDQ!Q@3nG!I!@QWR%T|pPB&y*OX zF#gqn)`lqmg=`Y>(R2ixv(7x|>qn%6P9)ySPVkxapSi#Znin0!m4qYV>R2i;!8EfV zlmvgRR=QdmY_l_+W;A7l930uUguN?yv%Nh>FZ!3?cxC0M{v*>0F`TCh1s%4+o?A4S z?|tpv3@oBj@qHMTSLept{QInzO3R#;w0XL-ZHZQ6jwN5N*$c(6vhH(0Kk{4E5*)PXTAOfLQ+s1TiVRGj>1uY>u{A$k{Q2wt*|Yx--`^7e`% zB_elD%fd7sY;Cgp!bN{>G9L1z9cbmom84sk^ato1j`p%Te#BbU@~Uv5gI{ zbEN_h(bDgvX&lVv|EetTk7PFFZYjW`s8Rhf>BEz&vSexnzh4KP_cj=5WY@(j5Q3jJ zRt10h61t)3xN{E|Md7QfgboNG6+q`0Q-vNCR&5oMgxF+Nx%df|+kx;16kiL4>n@|f zuXP2~*43g=P1#R-#b&vIZj0W0s*+9B$FuBs-GDybui0wHK&^cX#EPp7ygM3G-8u1A6bQvuKU56z-cn2a)^{e}|u*^;u z%Ci-s0gRg!s#jfbqqo@RhIOtBT^O1`$b*6qNq@&v%l-K;sKMcFxaFgR5fZpvz0R=e zcK@?Wt=AsS7~kkuQF6fy{WmN%L&v8#*kQ+@PT1fi}!=gU8kN z1{I}WJDyinItiP*NZfyOS&1*Ze3lz*cN$QRh^f{!PL*yl29G&p!|$07W=sZ}Y8BTa(_QRrfF&?ZpV5r za6#8U^^4B>z?<62Q{HZ)$x5@;+_NK{a>OF_qnYN*ARO=LTnjNM;+4a#ldETZS!4x6 zYGxX(vqdnAF5`|BC@4T$k&IK#JFGa&ZJrP3gngLEC3vo|L?nG`Xn1f`Tr>T;76)qm!yuF$>#8#WZ(lnqfhJaPfBxAmEJUgL)lYDP1a| zQe*^dFGv1pDG0DDsW+Xk-TGZ~;Zk{-f#Zdj%OSrqb_@t_>+DpquD|0$dt?m_ewI0}XrQLro_=}y`1>UF=ClOZ zQ+wtrFE>>;SJx#FQS843lB7@`J&V7qzCMm6-EJm2cPARf+?Qv*_$Ku1y7sN^J-+4a zH+4mJ{f2xnnqwm0Y6B6SQUyCiottiREy0RAwM*{7)qq@MxvqQf-n}TFLpFE>!gaXa zOBP{leec1r{pN7DTux1N`L>X)rY=F$2>3t7W9OrM+2$Lr=kO(^qYO2=cNv*n#ql6lIr zYafm-IFoe5Qf<3COR!wp5&h_*M^vzy>)X%KM#$aYxl|%w{-H_@CzVhDV6q++54kEB z!!iSWG-g+VwX>oFq!|Ohyn_jq?hs(JrlWFyoAp~lr*3E+Eiy?_fjBi)vf*Vk_mnTO z>$9&YlZ>Vba3RVZwcCo8Ds66}j*ddzQzj@c-8mC$Y~jjlNrQqEs;271XUILv?V~*Y z(oBahoXBv{Om&7e)r01|VZ5?ry-Hi&i+|K7h?k=ZJ+`CFfBB#g07JE1+B1c^&L6;12VNX3jwT!7hDhiYwV?!FleY{Nd)#x+rJ+Eb5ZERRc8%e^%w5;8a% zY4pLCJflu5o0RTt$)&AQxmfQX0>`;$Lvd-(iI4o{8tga$E8kmBAy_iONO_K92fq20 z4jyCnTfTV1zs2cy^jY_7Zm&)G0$`VJ(-m`CJq@wiOy$pFGw{E(*b4!X`9Ft$-ZIY4 zoHNQIHhQgZIS_;I;-npjB%4vC!f!gbkev@5F-J$KbuS=Z$Y`*n#I8TQ21OxWEA8mq zV20sr(?Rtr#CekP`5{wB7-Y@5I(sZBs#QxYQe)Dd-g~b$GjXWzKG_+H>W@S~{0U*D z>TZedJ}qv(vL$gKrWi5vEWulAS`N@%k&KAbQM3LQ$KpU>K(IsyQ%s7o#*mIt8bvgt z{X9t!nfS)nMr16VYLx~m3T$wGnZbR^gJh)YbT4qOC=sZF`l5Eva#3|&#rxziO!XD@M0%$^s z|Dd=&T#>)Gb&xv%$h%`sv2lVd!&ek|9M3AveH^TTe(YmX`vA*ji{=y$jCsxZ?Uw7K zKN7LoJ6<`sc4m%TutNegxMn1I)PH0Ubg`vXtoIng%YQ zeB1`6d7%-;dvT|qgvMb?9CmjTkQ>G2Gu{0dODMXb?Ll(GP~D15M5%vlUa(N?jJNuz zq3Z3A^>hv|Y=!fFJQb3mZj0`>v@-bEJ>$JYHqy6OnC}?O(n7pukw)LnqCB*f@o=M~ z4xbu_=l%0$Lma2~9U|fPd#GLzOqPC+`!IV6*k30Y`3>crv1}tkjOjC{FAt;PjEPfo zlOY$|rg`9ewjpE?90D`wxrdd^^w-c|l4xfrb;%<$7nPkeKr`aEzd=zUqRRXc;A z%GmyFb@jN`WLc6QYwnV5#utCHj3c^^`-bL8nyI3YI8Q5w*=OVBajVDg$~LztYytgI zKCSgmx97#6B+69f$L4cxs~JnvC4x#zFLm7nd)?4=OYiv%%w9J;1ENY8j!pSk(`~t| ztwi4YK$3}8rr1+_!>DFE-LU-T^#bG9L_d7nL@uVOzTZ#(76L3U+FYtP+38?@kS}1E z3YQL$-z$Gfe{ts#mQ)gWkTr`AzIknc<%&)88eB$Qg66};Hr$k9JJJWohpo9LK6sZg zD!dxu9DW&K!$D|<)7j~7Bn|LCB@7Dp&-EI#jT(6nR$$rJJA1dmMxd}YPnV@{3rW+W z8Q_2PNFficbZ%8iCluIP`_@t1;0-B#g`vFa(x48_{M7f2S_+Ey2+Yy7UYIyD%cTg~ zsZL(EoeK`lFsof)Lwe?)!7c8`-^*w0itw-2_1P+0I45TL;1OpQ6nU_MB8C%bwT^C! z?U3L)d^r~8%qrf74UXL!a_pqO+t>UhNNZYxL6u=Ed~cr3Y(#2OkR@j;=i}*tLL1e1 z0Y>vfW8mi~o!~>oO0I12!+(h{Q~$!&KHG-hu2ep`)y2D=0OZTK47m`65D8))R>ICowz zk-uN5KGd&h(e4;BtwZBEDlON1Co*c@cAYU`x8nV3voG?$1<#> zUg3cv^*kJ8o)hwz2&Fq7=;j_DV6Ox8g`XABMm7a98Flaq+f9nJ7}tBkE86<`!a4h8?Kd{9aR3WC&a$o+`nnm~HZbJd z;32$ib4|W%7}JQ%swhoMv~XT79QFqJ_v@`1%7(~p35@;af`xF`$`M!5oM+uIFV9N- zlg5=<9PCDVrDJvn>)nba4%s!$=gS|Cr@KLwjNyy*_Sp^K?{&*oPipl>PO}>1e?3;O z3K@TQbU|~OvtsqwKxW`@oRTeKW8C}kT~81suvO>-qDh0R{Od}SU-CgLmd9PowEENK zT0oc%a5ztC8eHMA0W1+&4>cbJl{vvG(XXj^7q~=Zh z1I*S_7tlG8s@6PJPHXN>qm{c5KOHOgVs%mEIfzJJ-+lh{yDy{NG?sgUV&*~<{p*P( z%MCUlRr(>fmsFYNiu4j^p#boV_BWYPYL8u`&KPA1yCHp=!FDIM@8A~ONZ7t|*2Z~C zQfr6P8mS;Y{6SZ>yo+&t@>=4tx_|5&BmMg3dn2U2ZLCisD@)k*fm4`%Nk(S#y{44~ zlXii(b?9HdC=rp^pqT6454H%tmG6p_Rjn>ET%W%c{uS3|sXX#mzc(0~KKw}}gQ`l! zH=#-=Xo7!TyM0;5iqd3OQH3)liVQciej=cm^jOLKuBSow8&7a!m=F6H!LN^`mS%Z}G>GfsdH0#CXEKE&aIJT%l|s;?{~?uF$D;{alcD z+lzGhbbSkNPy@zRf%dOn-8=Sibv*Glnt+v1Ozj67#sTRat4@VYTz^m>v4A5abGtNz z^2140N}^O4!DQzzO;o5r^4l5<=wCn*wjW2nPidbyvJz(~rXT4%&8lL1U)f?JyqBn@ z6qxCy-f#m(T$9~J_I2RcnyENwUYT5ZADB3Ie`cL}VrP(e5ghcL4-&U5{QXS)O~M1) z+M=VRAJ9e@J}x?hVU6Lmf4OZ-Rd{QZrF>75(EE!*S=Fh5%sQJ7>;sATY!)A1k=-vi zp8!@H$FA8Z;G8`&#Uy`KqtM8+117sf6-^uu?``HH>x{wGIc;`IZsPMY!c8Avp9YVg zHdhMXAel(TnME>fj)xQJE{x~$mrf1f#O|!o?nVY+@pgdCM!xAxMTt7lcqK~rRd&lb zxh>TczeK%j&ce%!m_~v8=%B5tLv*W4SkF3=lSk^?kwc*Gxp@A#ib<(4u?uk=CJ|ZV zZD#$8@Ed{3GXH9JOvX03*Ryf)NHH{sJ)(cvBY-g_<_UB%Q?1iK+(TUuCG~iw?J>4* zHT>YD6UDws3}O-d<)@(o_!1%N#onvwhh*x$B072Nz}k+L_XGaaa)vp=BUjYD)m@8T z*m19KMH(Obs+Snsm8EfzhMcOTRoPUK;j1ITiOtZbRrPm0n-_!&!k+y~$fVGqW2!6O zS0=2FUdD16K&ak@j{NDH7pSq(Jphg;GEIFebu{bX!(63md5u3%|2ccV`86n}MU?Rp zGG|pXLd1rqHg?{xLpcteHdNi}ZOV8NF)NjAVDZMiMJWwww|4`900%@|Zd5^6wljLz8sd!$>^)tcwR$KMBihK#7DoS=571IQaF#Xnwj*P;y5 zh1^#2Kp%H;p&r!blK~Y)AvO#0=wU2fTlgWS^{d?|roPrK#D#Xs=X2r@jIdmbpbJ!f z+ivm@6YaU~gQTh@WOt>K`^b)k#aY5ci3S9cN4i#zc{c;wBHlHzCgcO;j?fc zO0FSwHts7-7E$Zm-*n>Da>8Jgt&J4B!ZH98zpy-j>CE z#*GETx-+rWp>*55TN$t?&Oy_OlY$j}Dm%>$@5jrW5agkmD?xBTnE5Xd=cq0Hbodgm z;p{N#Dt(ZUUi9EX_eg@-*A)H&G$#yg*IOMPMmkXsFEX_KJoG|ull+04NZqW5?%P17 z{zQX-@|#<@LjT|5B!XDTtLF^1cT(=!WmXEdkQ{diW1|kHDZ14ko~XDJd_25azr2X_ zak7cWw!w46t94(+o^V!5D65?x(>LuRN>tGx*!^Jggu}A!rUbdy0#%TG4o$mFa|ExK z@-7dwAhacz3$;-J2pJR!XHnTk(cN7)r1;67EW+p>8l1(o+MRZ(ONEM?1lY^N6QAc9A9q?SLyPl{w-D4%+B;bOGj)}!(-e3@n3m6E54;~b7wp-2Sb4B*PUj0N1UiGyR6%WWclcvUn%V`yXgLb5NLj) z!feHc79yX_>(;Ud-F7&8H@GelCPPm+Ucu%>1g|E zxuo!zmC&h?TqlXzGb=c>&;j z-Ksog;gWti(&w{LJ)U*uVtwA1 z-C0Co{AiS}zPIPQ#gSm&wwmRWRd_un;o0zA5q_}Y4(&&?m)xNMC;sGD zO^vJv$lOlo4s9!OZN%G3o&cg%0#LG9>4q(s!lQJ23fkP|{8qI<(oobpA>H%&ylPJQ zv%~)p9SP$0yc>BJS!O~%E@ADeRTEbZHdH4s?o!srSbjRoEYY^$S ztz#I#b-K%CeLBfof@Ag$_z7WJU<6x0M{rK2!u#+6Wq!2(EOg;ne~$U2eM=revZr@= z^AtaMaA8F~9jJG9@218lfu9BrC$#@4*N97Xp9tx9We8I~fpr^#zsBKWBuM>+PP55V zC-3goX-=SRnu2%25%322bI99Y2 z$59vT%!%?bp+8|-XevjUow;?7p4sQtpw4_ucK(n}RCw~$CrhO{vCmZ@VY zqtGwBa6H129`r#|qm`xhv>LHg$C# zZn1RAm5+X-zjPv_9l9>7r#e(5xwaxZwZ%n+w#b#YZ_6ste_WTQR`8Sh*0b%!8mmp@ z`mCsq?FG?)8GW+)(Px>t&FQ1j(%h1k9xLNo9h96Nr3s}!-G3Fe89G&3)&kL}$|*Kh zeu1e>DodyVVv^GYSqVvo$qmNxk*{)P6y(}`+l{<1P8d+VqK)XA;-&o?QE~>cOw?V- zAgS>G=nuz+b^%e((G?Z+p@g+EXmxI*MDhVFHe1z#8yjE z_7~YB46vw17Ps7@+9~E2El{+;|F#8u%jV;WFNl0!;$8GBcn7a-=n27>dcG&|<&Pfy zb9fhgi6x#ud|C9Sbts>nzX&^!=BFUG=}Sf1^euC|O!7UA?WRwL2yMeM=>-v?r=1H;R~kFc!cN1r+z)00CXJOO-L zuG8^jPd{covRs+nN%NyJ+p(-~yZv~sO;%3b9{_dNG1-o~oR#JK5qAFZ%H*OHEl{+; za$9C5DdR@?=s6(_7ecO&7TYG|O51yQqCa^iEi#phj?Kv(bKaSFr;?JT5iWXRI z76=F9_Y6XO)X2Y()tTh;BOXq`7sA$Q3>V-a>Jci|iv)nPOd0{QSK` z?y*KaBF{%C+tJx<0!mx3U)%l$?9VdMFVUhDEl{+;in2i5=_6DRv~?nz-!IYmZNZQz<8>q0Da$bZad;`a)=_oO zoq}{2(cc8(?`P#&6E*`KjPfB2gU})Bm{*jd1&S6}K^AaBx{1q6KFxUf>wI~gLJ5oj zA88uEWw1W@*rHfJHvKll{kE?%6?#D*@RKHGONe~+i+Xd3>tK9T@-b{XXbFm^pf6Ia zw0vIQEV&pIEl{+;^0q+S@$(x}Cm|um7xhkKEM=~PF-@Pc|kV>zLKZ_P9T404)z|)5tH#Vn= zl>ZdTG(Xu1(NW|#zUexQ-cTQOG}Xa6;h1z1etOiBa3@e~qYc~(zBloEF**m!cB8D1 zQl3`AN!exzd{YbO=r1C^mS5>|Mx_T(^aA zLX(Jp2|9%k9hKLAhn`@&mXFg!II*sz*_NUsX$Jeip5VzPWJ4l8DtS5ysX@ekeH6>f zC@xB1)hsdk%r1*T(E>#atSAfko6i2(fY(vr81Q>3Zcx9dwgc!Gd|~V6)rou!uTaNt z+3Fz74`*UqerfJ%(sU3_KnGzxotO?{M^L_p>F{0_x1CyGU#o+spDyq$c#2V?A0LyH za3n*C&jkBXY)gt#v_R1UE7$_DDLr-E3>Sl&drjyHdGSPYBlw4LJgxXB<)&9GpH4J5 znLgy-!u1WHvrz1(8|>-@;`Iw~0q7_^Ir$~Idm-Mxc&gC}MIYuXAHWRI87ev)>&JT? z^~yieaaok21&S6}5f)elXW;J!`Ip14LjfO^4hG+UxJljII+n@sA9yq?tAlW3zXm#% zPhk#(+(*PVI)ViP_)2uvw$1e-w(?FF&Q6K>VPK(orjM_)7YrK z|0tBDPCUw(tV5VX86UUeml<_Xaf0!Y$c^r!R&037>)7IiVtRF0BP*kB)-%+h>0G|j zVIZEEY(LU`WV4=+Vai;}#iLbeO7UmW0!0g~I18{r-MO*Z7gEGL%Pf>pLBisetDtHz zsc3z(Niqb28=A7y1KEnG-3Ly%30w50nC<_-KpR6p8x;=07*qoM6N<$ Ef{`@TGynhq literal 0 HcmV?d00001 diff --git a/public/logo_fesa.png b/public/logo_fesa.png new file mode 100644 index 0000000000000000000000000000000000000000..11e39c2324a14cd279942f2104b41fb353b32dfb GIT binary patch literal 16330 zcmZv@2Q*yK+b^t-K7vGV(TNrbGR6oJq7xEC4^hGtW%SXzC_#|uB}#M=M(;%Q-Wh~Z zV?-bA%m01fd+&F@^_{i$+2#D6y4N{-?`Q85rKh7tL&-`>KtMpF{^Hroe>whN0+W;d zyX%@4CI8Dv?3J{Y2ned*?-j_kSe8 z-2TU`e+EkY=ZS=rxTM7YAK5=+|F?es7nPSa;=hUh%c}nt2L2B#kgluayMOBbM=6LD z_`lfyUv2+KIq*O3AQjhl*6wguLpaNCv2oxOEpD7u75$?JeicL53 zF@>T46qR=Zd0deuP^E2S%rqTJV{I@?kYek&`ylYdO3awVawtvLq2aG}FIagufZ$Xr z)g_iGtQwlH{2Ub>b{l&&Lv;J&X-&J)oKOT^6E*`A%60_#1qf(qS{y}PEGg2$|4 z1Y}$8%=XgU5IIw%cPTp%rw6iKS>m|&h+8^h%g`>l3F1!SxR*JXQrDCtFEZ&CJra&t1dQfY}k_eKNWnMmsvrIiYrvmID4 zdabAsv|;$Bu-Ky@FZt(A%`5+_Mt13$N~gq4qtxqE=3Qy})tFKzKiNjMv4ta5W&)U5 zrlpFPX|J}^8{!|~aijFK;WC)Q6ZLkL_P#$}^s~X|N0?2Iq*yZ9;%ofYGVP!#^{D~{ z7%UU+flim7FkAL|!wOUTls$mH470I?V0$&ZPLR3|?ypR>K*wSBi~m)&qNWPRnC z;(7Jn=Q-qh0@~l4;^aT3YaX^$^GiHU1JpQnH*+l&A<}I(RW0!D!iJ({^_4hh>B60v zkDHz3X{6P{x6c=SKxu5g?6U`$2m5wNXRgb>F3>0oEy)pA@U~TJx(#h@gi$+jr$=k) zLOkFD5*+!Bl4?KP32-VgJmMd2b3FG%joYcG$KOE=G=8Uw$zegb8a*I=54ryRWBJy) z@;L|f@J5oENQ2+LH^m}BeL|b+hqhXe4Q3=t#EG<`q3-V|E#J1MTz9iGQhvbkLLW0) zhYyI(iK+S8*m8H}-#))Agwo^lVvZY2vS$xAG1hprmFC3zTKgJzpXa~s!-(h6 zZU;A}fr?%3ngGEBg9d9PUsM-OQ9Q>0S+pv{u6xi-TDzXWWY)PgCI~06RXfpzD@aQ4 z(Bhb=OAp%jCsoN|VW(MsE8AI@!`o|jBFXZ+jqB5yW~=OTIduK%r<@~dQsjFgSk_#X z0CH;O;(gNEkW-sUYwp`Q!H@9fgv?e|a|XysEg?_==>pD9@KcuJK+?0oV301@#@*UfwppMtQ7=!qTuX#nL77rr~6H(RR^np0rOe$D#6owr~{uZ~A&< zChbBp{-$=9AHj>vy05J_zuf#&@Pjti@2<*>u*KIw&9`j#9iim;;9d^}#(^PG4cLdD zRHjdgUL)ku9y>5oU^i>s{Q;F@XLP0%8N-_*htxENIbn&3RFVEdZxjl2ndXPuV_l28 zPzoC3kMwIoC(7UQ02~+c2irq6Fa)$`-ZpWxsRKb(pN({?>h!j zaD1m~w)GdNw)?2V1I_f6rysVa-U9!6u`lsF zmkS94R?NKEqPXlBNY)n2pxO;e_aIBScC;CfI{>$o47vH6c90{aMbs@js}nY@eAlK| zf~&-~oFtMCI#NSxpix^AJHHpNw4N;h7D zM~*rUP{;fo?_D%p?v4FD$(M^MxB0)f6gGKQk;blv9ieJ2PH|M`B6 zdF`bWlfLZdpDWYnC%qpB9{!FM)KdO@G3-eBfwssbJ9M_BK7&%Yzn@AUn#9@f{@Vga zf>s9tcH3xtJD;M-7(c-PEgjm8;peNnxe1UGD1%~ie3I}gYQ@FkM>iJd(T zQw7s^V2J31*xs-U1j~#&y6g3Mnm66apk24Rlksf%$A^vm6g;=Yv&(O848LkWo_eP? zg8tm;J|luI5#7*oJhfk7t-UtD*)RhG2%cZpu1l;U@lT?0zBpDn#Y=>iZ0MTV;<0^T zt1IQ|Fpj!51fJx{5AsGACqXuQ;Z#N;C$#~Q5m6v>jcYeYSrJNdj?0(lY>Q;SK2`yc z@%-*xSG0xgext4O9WBY0T9%x7eF=3#NjWP4>CIF^M>%qzYj>~29Y(&dJ~DoB@i|$3 zgewTpfN(WX zx=8r7eHevHQhtr!Aqod;J&Ty<(c-NUZlosE2f$eKFuR4IW!tOldgtPg zIzdJqPV&??HA259)O-fhGz!z-+MsFiU44>VW*Eri1o!fNrx3yN;W5VPa0bj%J@!&w zwDCb8LnTmfyh1+rfCrQd%`98JKRVmBO6*0$`Rn+5YmBLS#;zI$4Co@pthMQ~0aN6o zoaC5#d~PJi-h=|WjL`$F9cm*3*3{lRyVeDq(MS4FY2?whAbRyQP(kU|(DHgZWbm{p`0bVBC_HOmyx(GS zrZ0|IcGGH{yDTEqf97nw*!*CS$%E9$L&ZY(QP_(!~r z$SKFsk5-R~F=Zx>8JX#s;nRIqBr(=;zUYf^PO*LME6YqLW*eZu1IlYloi#r+jRha- z;VP(#5WO7j;Y8xS5>4}6<{~}Vtv|K2GF@uZe(UNuKDI-}M!VN7zqH9|&1?9Y6-@*S z!j`y^Ayw}b3T6%ZkHN^1;d(NXr7P(OIyrlav3nI^dBgZqGltq958NG;&CD}()%1*J zj1_$d7%y1>QkDw~0-dpuZDi3lj+Yk#bl0jaW|lx$kJR3Tc8lniQC-u$s}itITMY zKY<4A6pjeNN0gi-yP3pE9X{gU7z`ejsh%2g5l94vmkJDPKZ=a`nu~fab#RFwzluC& zNN%v&`A$CB7xGN)aQi-7Ft)telswVAHmd$3{V;T~acA%96Y=T{0&;DkSr1Zjk~E`+ z=|o36ji=Rm+!FkH&SCDX2zG@GSCR&$k34o^_>N`8{{ zb=lhX53NzBI;K#+)+iFM8nD@5ee(E3-x3(oytOwSbG)pc1pjlch! zUaY_Vb#>KIZMJ)LzRF-HDy7)vjak-v>tE4^@@YpBAjt#V+8Q9blEcUk*iytf_nhTt zrDejleAYUiXgVT5GAum6W6S>>edMR9k#lDVMD_5T3X~%RcdV3I=LS&*2r?S!-MfFhC5dp?x|(2 z&?^SvfT5?-92sq=`Vdm2XX~=VsoQ-s>gjAU;*Jrq<@_sb_el7Wl04d9w~JngDRTru z8(e`Qo7z0x|I$>kBTWhm^u{#D+q2K$#L*<|2bDOH58=9249ABNCBwXbd<$rueNRx- zSA(H@x<8&1E6b_}=m9uP7U}~Vav%qtK?pgAE?LYQy}gJ(<3(%mBnYj{{gIP7TJgfc z8Q{!1s~qPI3BxKsZpun~bfk6ykFkTR%`yzx{fVT6eTNoJke}nfm$7pw0 z{9Snu!!f-}iB-gC)c}&7mb~lnH&TU)ndfZdf7>J}kB6*tEcbwFK{BrSmgUbgZRh#I zr$T+UPX+h1GD|x=mi5GxdR7Q!_xmuNa#i6kJ8Z0}(CqFnb{mZ$AgAQK(c4Boca2Nb zU7t=!PW7WWhC}Xca@J=y7dq1`4csX+bibx~+zfE`ZCGQT9fk^}8mdPC8ZgzHAY_vN zWcA`9yD#;5F8kcJ$K1zS8N}F+pi{q?hfoaBrSOlUKdRmJ0PKOP?0)AkN#B$J#QcfT z$@f9;FPwmBqoU`bk3;d9KiyG#2d^B6xby-zbFUj3>VwHJs+mte*UNXjZ2CB@ZW@wX zH>QNFndvyG2F|P;oT#qAx}i@mo0VI$E8yB@*O?2pvm|!94$J3`qwn8w%=WNi3mE++m8AE_cp=zdmfkKT z8?T$^thP2264CJ#VZk8$-9o>(XvE?6%=%$yJh~!o8{o}3+{>Ys-uj%=L|B*0iI`J^ z_ot=SR`ZVmAIT(e+b1U9F);KGsD;8`V(H*zafBN(*5W=q=p!Fvo#1`(GM&<~M-HqB zu5dCgQN!O4aeT=2C&IEJxtRw5@w#wR@}$)#vjCr<-fO`@!dO>Dw4~-%fcSOkF$*Sq zDxoigYLTlqgzTl7;Ce~f9e<65OGmZ?OWUc~$!V;8a_-CiO=0z!LXK;3H}lKtR%?Io z1dmArs_lUQ{<-OQDCZ9LxQOxx)AFx2yydBd0gOGGv zb7mY|ejrc0KRK>3&IUYQB4U|Weo+TRJurIjEYe#8Z*z$7LtRE*yeTr9VMTo zYf+1e8XlgYyl8dv-oO`p%aw@wdvW(|5OywtH0!lQ}g+M&zI#|?$t5}rP-}Q<)AYHCv%@aP4+!(syob{JS5MP$$ z)Hf;qa09M#BAEAx>b%Lo?2JHKAWJq8dsi!4*NpXjxh$U{5}H3rK>&k?b=LgWel%Og zkNHHuH|Hh)5GzqL89U#I9T@mEF)6Vvy3*=A=%?RvUNc!Kc@us7N+0{TRZ%nhoseg_ zNQF_u_=ZhtYI=nvXN9q=+|E%?tP|TW8$XmMvz9cMFz3TC+f}E>3L+b+*mw9aD6bYr z>ZiLA4-R-KMK+rB{mEg=eHdTEFF#3^%rqL!DaY~*e4=ZK;V!yQK8xE^xtErfKt%D#C(J|+<- z$(30oG}vNG7(;p+J6T0gHvu=Zl>H3J-``PD!Ig}AF5I>7#K)_xd_(=lXSaJ5b=?_WXUV0Bcx-<9uM0hTjo;`C1a#k(WcRc6WLT)zC0tN4O{3kJrC%mH!3kqxMCP@}*XIIc zefI~F7Xp0^CPG$#pBMLF?x->vFm)SgTRI(E%I_Kq=-QEhMBb8>8}6a^my?piRX%V0 ziSv2=UD@wRNR@qx7Vanfx$htzZ3HlP+2ps(X?0oYCN>{JQ#;O(viKNDaxgO^ljfmq zZR}giIQVDKBf?9Z9h^+lirkBtxjs{{C0zk8c}pcYR~Yw1@EY;3=Jq?>1DYfCZIsQWmgwqbxGvOiC_6C{|{`e!EQT_adO2G5JJxy6ur$7Nm!re7GY-o9$AQ#pYii z_g2Vyxk609xKIrSgwMP@1}?D9R2)JJ6KT}_%RA3qlIn}rrZ9LRiG+s#(GY+BjZl`2PddBas?_o) zvu5_-ap~zhys(<}iu zx;UeBZ@;ug$dr?v)I$L-5{1L`@AES$V_yGX?v|YtBNDRyvG0(`>(JnqZ4yS2X z5qT!K!cyDdR^gGZf4q_4Ed3sUS|y+50tL2iBxUWU%7|NA43;LtGZPg%lHrD&_F`|7 z;97If5zJmOGl1s-c)=?gb3uEj^RK2%v6#Zv&lI$Ld*uJVHq$EYYKOu(#=2O;-ax7| zFm;4V$KN3gC4x|vP!=PGi4X9wdk_#5VoT4o5L>2S88MN2=St#3C?H4PE6pqE_D=J5 z%W7YzbQSM8Z{iL5YvWyc!5i;LkVAw{m2Y97_cHsYZ20mPo*OiC?w(pB5hkfvmAImqzUe z3Z}+Qg@5^cJm4v!$+Uc>_H}RN)mpoojc?!q$?%HG(uL2*^MdtNBkc#Jue1E>-l!az z0D*+r6_Xv>%QJqzwb4wl0>5IGxp`E@O+IJo%jU7q_IL^&CP4|-iTo$G%nZYL(7P_~ zTjL!b7lmd@c>6lWW=?99YTAnZ)?p>H`!S4(NEaCp@{?^P>|7k}Vom_>o*pFwgR@9) z9l8xd>sI30hZ1#cjv)3*KaN>K<4gVpXUq0GE5heTyw3=bBMT|NQ*}}#d9!yIQ9Zw{YsG^y%4%M2qYy-VAd2koeK0cF(MoQDP55MX3{g^#&j;#K1u@8V8z9 zId2F(l_jqu)Lm`GC{^(q_xemWMdGyoEq7l_-eEs`=s*MW`MUUos-YAo3M#Rb8*HVX zV()w+8e2A0N0J@=`h{g*L3w&#hmG{dGU3US_E#GIDNPAKj-4t--oVjiZS(kO6{sWj zu?<(kUACDb1?)Qb{>U-q9GUN^Iet)8@se;`PV$9-y=#X1Pg^&Wdu-n{XUAa5ll2ZU z^Z3&82O!f|*3J1gG4q+Eq%S#=p_*5GX*99cMmYE8bjl;)wvXpAnEf)Z{CEJ|ab?QS zeV+u{uIweMQF14;7yb}1JU7HHP>a;;H}LWXD;$RswOXMKiX$rK%!1?Kkef2nExLd zD28j88ugwdrV%N=&5>y_CVl;(DULo*#WCSLhD+xe3oWdZ0#m-*WT=LN2Xbj_$$w&S z>kP5xsPZ!y<>3NwV3F$SBL_eqys?rP!d{LolB}m%F4c zN>L)J+Ea-zTPE2X$GAs1tRU0sF?Q$7T4zRDG26?zl6OjEvYu0Wd=+!WQ7M1kI7;ho z3teZf2+{@LBqlnYvhVw4YOrN_vBuZrh0xdU|EZGo5-L4w%t71D&jBsCc-=GosKw{@ zOt?(-{+vgHUeRAdpQB{s(?=V$30DU0PHeo*@+qKEF@7tJuVMcYoenh}{}&p`xr;u` zsB9bpv{5~Z#NC-cucsSN>yEijOqJoccH7|~-`QQYGCzv}tQyp^Xcj|TLXVgBJBm!R zUof@v{mSC@i)_3(q7DAKp3tVz!?x6O#ib{;681P$XPan=&?r#Q{UK4VPAwgbh~~oF zi+;ZA0CS7cnFZdE>$p;*KR?EqkCIvta|}rJK6K1{=@_q5r|^r!Wnsr1bVR;I$ksJc zMdI#t8?A~*yhF0ayG#`Fyik0oJ_}$CS&K--c9J55x>bSl_%}6ziQ)pghR1^c4Rh7bplXLkw)5*tU_ghQ8%`ycb6MNSiIf0lzJ~@5WcG z_V_RXOiMPgsXPzlIc`wI*JR>Bm9z**ZQ%19TBo3mhzUDzZmN+bLhIO#JVrYS7X;1w#m@`Jb68o@>aX{2{N9iVy1o<)^Q##hQ&vkV)iis+)uwRl zV;AE8?40?cGEp%Sovv0isxxoUqOg5dcqP7bVIJ`<2F8Lsf#hu~277tAlk`BuxJb|1 z2XYh^Iyy$#YF9Q{49HtPO{t_erSt{sG?EH^?;w72i(qI>8CI{(j4-jpsX|y<1n%@+ zIZu$8c~Ypae~cUru~cSPF^6crFO#y#SFVZmz*Q+QH22)aO3C(6M(C-m4fps@_DGp$ z*B!f2UZdxdTKWy%f>Ey?xWR?$>H{XQ9VT>ZjdF1(<@SmdT{okNQmsSA5_eL-cl7Ht zx}QI}v*?U%hhp+0H5>^9KgvKfwg*A^T#@G5H=gaWPwqb28NzHj(VDjpojKpTWz9uq zlW`m~G82Iefw-c53%*5QVOLu_X*$_5U0g0?vxQJLuMgZQk+>K2a9EoK2>d!b-j?!B z+sqHjIiB?MHAbvZdXjFh(~v4Vo9;j}OtT~Q-tZ2YFQdOwODaW-^0ny;bj3=2X?BG_VtB0c|*r$r4H*QMiC`M$92hp{1XV4kHKP&2Lur*S&Vt^mBj^4iofI{4W z5i=KD;e;kxY)`q|p+?X0R$3hW_-lz}-`!GQzi2VfX6P6yq}}$C+r&$evsGP7ey z;cAW%KBG6tC_QD|D5^q5-?exrW(fp0vm5F6F*`Y}DcXK8U>TU<3V!9Q-auzvz~B8! zZ^P`xEh48^g3^(T?bWX~kPic?Vql*V07U2!1hA%*(}%-p@Sbv%H`L-)UIPcTl^x1e zl~M>%G@W=d)U>@|Az^4=8h7G3>?>WAV9C*2K-NNw4~bGj{} zVKs#x4dZuwLfA6@h=_Z=;rd0JGu(p_@XQ?aOma%fw)r=RTmoG(HxoQLS)i*{2x4Dm zQEQ3)JsuE)zcSl?Hq))f&UafgAm)38dYdi(n1cG7^olgv9`qW zXsFDx)T${m6C8v<4#l=;q_9_4p1c86IOL@Nk6jUl*tIn-^3--mOelEOJtIakIp9nE zm3zLNf^ri#ue8VgV?%kyO%-Wefdx}z&^rTbGIvsr;c8hDcx)7gw}saG5g5Qa);P^V z0@{$tS%w`mwX6M>He>$AZD6S@HX z+h&0M;BdL50U*V&1^&-tYSYVVY=gnBce9qyIUC_O-=O!w+{uLU!w;S zn05~ey(yQ&sP>Yi*cE?q^jUsv{Q#DIqp7EhT|385RwS=zZvi^1TlpriO3ORmQT{`h zg6F`e%TbiIGm3DMYu;Xp1s^&Gd8EZg-W`9k^^QIY!NR}k9o9Kr8Igbe7qm!QT;IBi zH)SUUqhSkg7(&boYaY@7kwR@7dde*kesE($apBj|b+d1k=0+xI4Q9TKK@FH<~} zWWp-8HnP!~dH$iI>kr)P_d30(Q)OZ!KKnFLd`iXiGm6em6gx820*dqNs0GL4mN3g^ z7W2ggUDK9=t$^9rMIWxJy8$6D|F*#0ReIJ|z`o&ssoIB%XCZj67<9x>61{N)4IYiJ zovKn754A{UhU$iuP^?egUgVkI*GY@V))-9IJ+ICLF-fQJDmQHn;ONudWi>MRGn#K~ zK1^(0&CwP1_I<>=6zH)X@ww*VZfGSN&;>kWBXY&>l&_d}5PBt^7!l59?vhaz1=-6o z7R%#Nl}^&=-O`Euibp7pzA?-AndLm;@p{R<#REDg(?*}*oH zuB(y`A-*As53!l=%eTsgVH`hfgr5o+MQFFH%|00=V!uV5gP*B+R_y08g;FcSk*_l1 zXFeVH#WU;^)=dn9B6YUj`j%conQjGSm0Z14GLb63&H%ge7PW$3_T-kx-)8f_y?kIJ zvdYzQy2EhM+w!$}Dkza0x&BmioUuLXu^G=$?w3D74 zny`JjRlrq^SHKplO5En@n@=)hHh6|t1heR7etLx8Fa+02qyEM*Aq`&qJ4%Mq{H0~P zA3I;U-ejFfn-T;HV3^dWXrU_k5&`x0o*am9c`Bi~t9*fN6>(y$sf-K<@SWmjpmaO}K>`pvlh#$(# z>eXb2RjSNNK}E(hm3-$?V49o(@(I|982UInhg<2vXL;Gm-#U%(wQ*E;ZHnH^8J}V^ z7U|S2|1K?ZTKNXC<+BN;VEd$7+KKvdfctO%e(#37e%47gHDBm@lA}D>6H`X)9s#M6 zEu#>5Q=taEPSt%dk1t5-{e|ZfiuQfB0)0Iw{9#uP@=;{t`kw19t~4EnkkOMXT$0B* zoXeAG3QFY4I?%6)STc_DM<;sZuQ1*rlq>XXzPusv)~R`X90*ksJWKMYks;Fv z#WQ}r^(>dh3nlaY{u3wB5l^@)pl>_@qdeIsV<#se@GGKQIQP@ zrQdz?qCB_~=B~SsW?{dd41ac2#5}klqDYY`xr5$joN#IUY@caNojJ*%&1lI4epQ|d zvr`6!*WpZm$=t7%;PPglQRy6QV<>C|WjdbJ3@U=G9j^T!)V9%JgH4Nu!&)bLx!td> zl_Ffl5PJMQ$s-=K=}7l= zL(nA4u8J@d*sM~@k^DmT?>={lGBk~Ne=&xB+2Cz)&xIl7!+@FJ7u+kHklsjnF29h4 zasAT(W(xZb3af1X>x2q{shw8?mE~Nrjjd%{mDQG%Pmotru}7lCk6t)0{^da>w*p%! z7O<3X?p6Ywh;5va7oasoDFI^Q{~5>UK$+CuDnrcVU>#l`B^&dXAFR(r%D{bn3HHI8jC8j7HsziAhATbsojLoj7ib74 z;+N~tr`8E}=7_DLiV@PPB#w>W6l*ZDTVy5M&qHuQ@@PxKx0@-KZx{OGxjqxD=_C00 zeqtFJpTnatXYmF7O*7iS$2_)=K7LnPXoU+LMVWe-U=zPwyyNHJG*5@Vc8&ZpgcOLy z=6Ksnanv)8y`6j0eH&IS-mAwE)u%c`SV7FyprE}p$kYLmq~Hu+>EJ~uY?*-^Ez`)` z0%om7zoy!T|OJ@?K7kNg^ zX_>%IJ?S0*REk_8AG3q6alYx|ewJNF4Px3Mu#Oqd)_u~ zWhELs1!PcAyKD)#9nvZ^*FE`UYzcG3LR<>Ifk^asRsc)#P-B! zI($%sGLsi0nC^y9HV`!(@=91sbO{D!?l$Gk*l=7E)Zff_f7f|DgA$T;Ks*1a($i@i zWyRdh+N`uFnAvNRbpkEoSQyQ=UaWoQ#I)1bJ6c#2>{Ph4FT3d`=;o5-q#JPF^J9?f z%2u!%d^}k5lFoZaz}sZ{@!!pR{PWL@e~O(9*!1ZyX%Xy*Y1jUf4LLfad;sJS zdzl9ZPB$wYo#e%x42={Gl?q(=TzLJ!BeM=V#dpP+PnxSygBjE+HR#?8&OM4OjJf2d zNoZyc%_7NlhYH5QfeQ3zZj`c7`Ni?~=PA_^)|#`FH{{D((lu4`s}CH297+-9pXg&I zla!RP{M}q`Nz(Sv0^%191$C3@>Mb3Njblq@(~l<`%z%o?O<6t$QKCt!VxtxsTULJ3 z4$4a#7x!#x>-Xb4g5_F;AoFn=)yi3HW+jg*HI8awAF9Dn=b~rXv5|cfPep!ydj6%P zD5Rc+MWIGZwtANibbdSDCGl3=Wa=#@O+SFp1t>FdarJg%<3sX7jyT>-=PqR&lD7Qq z$D^cyY@bcjKCtfG2}Z%|4kH}Ev?+x!hTfB$T@>?vlm3He& zfg7vDfQZ}dV|7;XQ$*7;a^BNguBXyCf zcpu1^S75|%tf6UBv87`{&TK~7|~%@zq`s+QgeN|m2YtEc1`J=8j4qKeD21epfD>)YR0Qxh1_P3zHw`-g!sCHsWTC&UcRBHMawA&GG>ab9&5_A|3hNi{->SZ~79^4Jy4wbFv`?t1eIdD#ia^lbohNz|RR1mfbYfQ4VYhrO zzp?lG&F=4bz9s59!Se3Bx%l{sxYCIaIe)0fS<@Uq53WuZ>I$apC2%bk>z52x%gV4C zWaPs1!^_2p+WLw0-$VCdmfnIn4n6$45;Eht#|50j>Q^6)ZjJ5as7zk*yZeN&>IShb zd7LIWKP^5tZleO*5;Xu@Y1Nb``M>-oX>EKh%g|f2KF>#SQBicUv&dl)+K=gIpj#y0 zdB?Wf*jiCSwZ>cKBV4huDg3(F>CyaijyBRSuhfGoA9HO=ySe~ruZKYRkfX%rWcL(N z9EEO_t3>+W5w$(d?Bg?@9ciYvB&CP_c799ZF>Kw7nGt|Mh=b`-{zu&}DPhk(=ekvw zpNcXKbV2kBVe@kylwDKhBljAIQ11elFi+HeMFqUZ%3{LbuwD5#2B>$389n-Pka!~< z+@Fwo$oD`VGBDYHMI#b$@VWu;hd4lg6YZSBI&H92ebwMQpnQe>W( zNI?VLAL`1GJnb?jWD$cROQ%cp`-Gy{Q-b{s!VFr=&J;;z#!Ca`_^9s7z}?mC!@shP zR|uV`MsIUCw`GKmGT41N&?`VM&wT6Zk+)c$cIfY(4L7+%9LveCc+b|8e$4>GL_PUy zE}_+YDJBVWl!p27_c|Oj|3mRgou$0T%Fu~PaE;?$h`!NuJ7S8Tb`4D7Q@aLQk6svE7gT$zRZitLCa3=61 zwH<yo@?fL{8Wtfm*}MjRg}Z}0C;K^uHrx_Zjlo}VHgI1^XYzg=p6Ah62J zsao-Fo-tH=)#In;qQj|mI{I*u|AIN!>0bm+IVj?(KRf(H^B3!Ez=c_v>mBz%LV<)d z&Coi1iL)R;*!mtJ-kQJR^B`{3xG3#bKRK)|rM@NlLviZ-lj(1CpWFy^Gr6R$n?H~ZhKq;l7WipsP(nEGmMe1dz0S&J-* z|1$R7N}njGPnGjL2#;-_a3OKXL6z7nopIy&-pDGi>@YQ6EQ6?eLt<{pz!U@gvpV(~ zTypdfEgLv9c3a-g^`y&B zH;P(c)T(qHt2X>;FxkIj#fm`bJ&-W!rg$^rr;^#qB(w=7(Bb2oS955!3FpyTD1zRv zj! zoD@jjSGBK&5L2T%@uPQ%i#uVaCY1FX&m6tN4e@u!)Q$9-yf`4o)IG|xPmXAwM+^QebPgHU^=;vr)CEZcirTh ztE|<@N?5MgW@5!}`g8 zH(2F$>`9BU>I+tYNm7G#mN~_VWrNb^MvH>`R$rY9Y^CjdyJHlUlVATTGNz?7(TxmR zV(^My)-B3*A2-x#19rrM!TAL+?_invAr9u<#EgN~pKctSBM629LE3Tkn!}f-YlfBB zRld7ne~qzM%)>}MRp(mcgGt>v^o4c`SD*iTa+`bE$wCk2Lm{YdLUH*wGBOfux+@28 z3#c**s?eaE$-0|dsUnZncNG6oH*luU-W{<1+8PI2p>yIXfE1YfpM`6U=Z*iHwK$;zO`P+s+=vpOucrxM9!G` za{>WcBr^)S{t{OmIbEI;fs$XL7qs}SUjx}UioUi(6@sC95Y^vftyfk9XV#Z_qlH_0 zJzDoa$L<%&S%^z~Yix=^*{^S2N~DbC6jX5h#t+1Q%+h->`~nbl@+kvK$)eeI@6!0o ztH^ij&jRe`?JwkR^kWO)pDix_yoK<)l~}*DD4YZYY7!dm1nzEVJrL<`qg`Eo=H8rm;r_UY!t-V@r@`raB5EqvDRM3xeu`IfA zwx}rU;OUO7@5v9vbxwi!z@jtSoNnVVLk|C;dj)HDCS%q$kgk%HCboGdV9;Q0H0t+2 z^ygRiFB(l0=c~K>^S7gS%m$cyo^&&Zi%P|vYRMqQb1IYB@1Jrd&WQf~7B*lYi#Hzg zes;C9)skxW4CUYSVtd{!&-(q$PvT)V=XC2wl#eOayOgY zf&>_DJW1HC3y}3OKp4nZuw9!}0fBdVhF}3O{}WcSxNV}ii1eCs+s-uNvD*jz?C-w{ swt(2(kRNh+UeCyhLXW3LJ8l7{uzbaSi?>4m`D0%Fxz4i+Wvk%-2grN#b^rhX literal 0 HcmV?d00001 diff --git a/styles/default.module.css b/styles/default.module.css new file mode 100644 index 0000000..3737450 --- /dev/null +++ b/styles/default.module.css @@ -0,0 +1,30 @@ +.divMaster { + height: 7rem; + margin: 0 auto; + } +.azulUnam { + background-color: #1e3c70; +} +.footer { + text-align: center; + color: white; +} + +@media (max-width: 768px) { + .footer { + font-size: 0.7rem; + } + .logo_unam { + position: absolute; + visibility: hidden; + display: none; + } + .logo_acatlan { + margin: 0 auto; + visibility: visible; + width: auto; + } +} + + + diff --git a/styles/general.module.css b/styles/general.module.css new file mode 100644 index 0000000..e9b81bf --- /dev/null +++ b/styles/general.module.css @@ -0,0 +1,4 @@ +#saludo { + background-color: black; + color:aqua; +} \ No newline at end of file diff --git a/styles/globals.css b/styles/globals.css index e5e2dcc..762498a 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -4,7 +4,8 @@ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} + background-color: aqua; + } a { color: inherit; @@ -14,3 +15,38 @@ a { * { box-sizing: border-box; } + +#contenido{ + background-color: rgb(144,114,16,32%); + border-radius:30px; + margin:3%; + text-align: center; + min-height: 400px; + margin-left: 7%; + margin-right: 7%; + padding-top: 30px; + font-family: 'Vollkorn', serif; +} +.titulo{ + color:#644F0C; + font-family: 'Vollkorn', serif; + text-align: center; + font-size:xx-large; + font-weight: bolder; + margin-top: 30px; +} + +#subtitulo{ + color:#644F0C; + font-family: 'Vollkorn', serif; + font-size:xx-large; + text-align: center; + font-weight: bold; +} + +#radio,#botones{ + margin-top: 50px; + font-size:larger; + font-weight: bold; + color: #644F0C; +} -- 2.43.0 From 88ba6965523773c61fc00e9e482a6ee11a64a7e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Mon, 18 Apr 2022 20:09:14 -0500 Subject: [PATCH 03/13] prototipo completo 1 --- components/layouts/header.js | 4 +- components/layouts/header2.js | 0 components/login/login.js | 14 +- components/profesores_registro/invitado.js | 135 +++++++++++++++++++ components/profesores_registro/profesores.js | 70 ++++++++++ pages/admin.js | 39 ++++++ pages/login.js | 4 +- pages/login2.js | 18 +++ pages/profesores.js | 19 +++ pages/registro-exitoso.js | 26 ++++ public/medal-solid.svg | 1 + styles/admin.module.css | 43 ++++++ styles/exito.module.css | 24 ++++ styles/globals.css | 5 +- styles/invitado.module.css | 13 ++ styles/profesores.module.css | 53 ++++++++ 16 files changed, 462 insertions(+), 6 deletions(-) create mode 100644 components/layouts/header2.js create mode 100644 components/profesores_registro/invitado.js create mode 100644 components/profesores_registro/profesores.js create mode 100644 pages/admin.js create mode 100644 pages/login2.js create mode 100644 pages/profesores.js create mode 100644 pages/registro-exitoso.js create mode 100644 public/medal-solid.svg create mode 100644 styles/admin.module.css create mode 100644 styles/exito.module.css create mode 100644 styles/invitado.module.css create mode 100644 styles/profesores.module.css diff --git a/components/layouts/header.js b/components/layouts/header.js index db1d87e..82e03fa 100644 --- a/components/layouts/header.js +++ b/components/layouts/header.js @@ -14,7 +14,7 @@ function Header() { className={`${styles.logo_unam} col-4 d-inline-flex `} > - logo unam + logo unam
@@ -26,7 +26,7 @@ function Header() { target="_blank" rel="noreferrer" > - logo unam + logo fes diff --git a/components/layouts/header2.js b/components/layouts/header2.js new file mode 100644 index 0000000..e69de29 diff --git a/components/login/login.js b/components/login/login.js index e7cf310..7935578 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -1,6 +1,10 @@ //como hacer un campo de entrada o un input props.entrada1 -import React,{useState} from 'react'; -function Log(props) { +import styles from "../../styles/admin.module.css"; +import 'bootstrap/dist/css/bootstrap.min.css'; +import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; + +import React,{useState,useRef,useEffect} from 'react'; +function Log(props) { const [radio,setRadio]=useState("profesor"); return (
@@ -64,6 +68,12 @@ function Log(props) { })()}

+ + +

+

+ +
diff --git a/components/profesores_registro/invitado.js b/components/profesores_registro/invitado.js new file mode 100644 index 0000000..7c6583a --- /dev/null +++ b/components/profesores_registro/invitado.js @@ -0,0 +1,135 @@ +import styles from "../../styles/invitado.module.css"; +import { Container, Row, Col,InputGroup,FormControl} from "react-bootstrap"; +function Invitado(props){ + return( + +
+ +

INVITADO {props.numero}

+
+ + +

Nombre(s):

+

Apellidos:

+

Edad:

+ + +
+ + + + + + + + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+ ) +} +export default Invitado; \ No newline at end of file diff --git a/components/profesores_registro/profesores.js b/components/profesores_registro/profesores.js new file mode 100644 index 0000000..eddf14b --- /dev/null +++ b/components/profesores_registro/profesores.js @@ -0,0 +1,70 @@ +import styles from "../../styles/profesores.module.css"; +import Invitado from './invitado'; +import React,{useState} from 'react'; +import { Container, Row, Col,Form,Button } from "react-bootstrap"; +function Registro(){ + const[select,setSelect]=useState("0"); + return( + +
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
+ +
+ + +

Nombre:

+

Número de trabajador:

+

Adscripción:

+

Cantidad de invitados:

+ + +
+

Gabriela Gómez Hernández

+

2013050757

+

Estudiante

+ +
+
+ {setSelect(e.target.value)}} > + + + + + + + +
+
+
+
+ +
+
+
+ {(() => { + switch(select){ + case "1": return ; + case "2": return (<> + ); + case "3": return (<> + ); + } + })()} + + + + + + + + + + + + + + + +
+ ); +} +export default Registro; \ No newline at end of file diff --git a/pages/admin.js b/pages/admin.js new file mode 100644 index 0000000..34b8023 --- /dev/null +++ b/pages/admin.js @@ -0,0 +1,39 @@ +import styles from "../styles/admin.module.css"; +import Layout from '../components/layouts/layout'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Head from 'next/head'; +import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; +export default function Admin(){ + return( + + + Admin + +

Admin

+ + + +

+

+ +
+ + +

+ +

+ +
+
+ + + + + + + + + +
+ ) +} diff --git a/pages/login.js b/pages/login.js index e5602a1..bf1d61e 100644 --- a/pages/login.js +++ b/pages/login.js @@ -1,6 +1,8 @@ import Layout from '../components/layouts/layout' import 'bootstrap/dist/css/bootstrap.min.css'; -import Log from '../components/login/login' +import Log from '../components/login/login'; +import Image from "next/image"; +import icono from "../public/medal-solid.svg"; //import Link from 'next/link' import Head from 'next/head' diff --git a/pages/login2.js b/pages/login2.js new file mode 100644 index 0000000..1cd7701 --- /dev/null +++ b/pages/login2.js @@ -0,0 +1,18 @@ +import Layout from '../components/layouts/layout' +import 'bootstrap/dist/css/bootstrap.min.css'; +import Log from '../components/login/login'; +//import Link from 'next/link' +import Head from 'next/head' + +export default function Login(){ + return( + + + Login-Medallas + +
+ +
+
+ ) +} \ No newline at end of file diff --git a/pages/profesores.js b/pages/profesores.js new file mode 100644 index 0000000..3de6de2 --- /dev/null +++ b/pages/profesores.js @@ -0,0 +1,19 @@ +import styles from "../styles/profesores.module.css"; +import Layout from '../components/layouts/layout'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Head from 'next/head'; +import Registro from '../components/profesores_registro/profesores'; + +export default function Register(){ + return( + + + Registro Profesores + +
+ +
+
+ ) +} + diff --git a/pages/registro-exitoso.js b/pages/registro-exitoso.js new file mode 100644 index 0000000..28d5782 --- /dev/null +++ b/pages/registro-exitoso.js @@ -0,0 +1,26 @@ +import styles from "../styles/exito.module.css"; +import Layout from '../components/layouts/layout'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Head from 'next/head'; +import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; +export default function Register(){ + return( + + + Registro Exitoso + + +

¡REGISTRO EXITOSO!

+

Se han enviado los datos e instrucciones a su correo PCPUMA

+ + + + + + + +
+ +
+ ) +} diff --git a/public/medal-solid.svg b/public/medal-solid.svg new file mode 100644 index 0000000..83cbd80 --- /dev/null +++ b/public/medal-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/styles/admin.module.css b/styles/admin.module.css new file mode 100644 index 0000000..fcb731d --- /dev/null +++ b/styles/admin.module.css @@ -0,0 +1,43 @@ +.contenido{ + font-family: 'Vollkorn', serif; + min-height: 350px; + margin-top: 130px; +} +.subtitulo{ + font-family: 'Vollkorn', serif; + color:#BC9516; + font-weight: bold; + font-size: x-large; +} +.boton{ + background-color: #BC9516; + color:white; + border: #BC9516; + border-radius: 30px; + font-size: x-large; +} +.boton:hover{ + background-color:rgb(188,149,22,70%);; + color:white; +} +.ingresar{ + margin-top: 15px; + color:white; + background-color: #1B3D70; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + border:0; +} +.salir{ + color:white; + background-color: #1B3D70; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + border:0; + margin-bottom: 15px; +} +.salir:hover,.ingresar:hover{ + background-color:rgb(27,61,112,50%); +} \ No newline at end of file diff --git a/styles/exito.module.css b/styles/exito.module.css new file mode 100644 index 0000000..0fb869f --- /dev/null +++ b/styles/exito.module.css @@ -0,0 +1,24 @@ +.container{ + min-height: 500px; + margin-bottom: 30px; + color:#644F0C; + font-family: 'Vollkorn', serif; + font-size:xx-large; + font-weight: bold; + padding: 8%; +} + + +.salir{ + color:white; + background-color: #1B3D70; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + border:0; + margin-bottom: 15px; + margin-top: 30px; +} +.salir:hover{ + background-color:rgb(27,61,112,50%); +} \ No newline at end of file diff --git a/styles/globals.css b/styles/globals.css index 762498a..b6ace9c 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -4,7 +4,7 @@ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - background-color: aqua; + } a { @@ -26,6 +26,9 @@ a { margin-right: 7%; padding-top: 30px; font-family: 'Vollkorn', serif; + border-width: 1px; + border-color: black; + border-style: solid; } .titulo{ color:#644F0C; diff --git a/styles/invitado.module.css b/styles/invitado.module.css new file mode 100644 index 0000000..715e622 --- /dev/null +++ b/styles/invitado.module.css @@ -0,0 +1,13 @@ +.container{ + background-color: rgb(144,114,16,19%); + border-radius:30px; + margin-top: 30px; + margin-bottom:15px; + padding-top: 20px; + color:#644F0C; + font-weight: bold; + font-size: x-large; + border-width: 1px; + border-color: black; + border-style: solid; +} \ No newline at end of file diff --git a/styles/profesores.module.css b/styles/profesores.module.css new file mode 100644 index 0000000..804a494 --- /dev/null +++ b/styles/profesores.module.css @@ -0,0 +1,53 @@ +.container{ + background-color:rgb(144,114,16,32%); + border-radius:30px; + min-height: 400px; + margin-bottom: 30px; + color:#644F0C; + font-family: 'Vollkorn', serif; + font-size:xx-large; + font-weight: bold; + padding: 5%; + border-width: 1px; + border-color: black; + border-style: solid; +} +.titulo{ + color:#644F0C; + font-family: 'Vollkorn', serif; + text-align: center; + font-size:xx-large; + font-weight: bolder; + margin-top: 30px; + margin-bottom: 30px; +} +.texto1{ + font-weight: normal; +} +.texto2{ + color:#644F0C; + font-weight: bold; +} +.boton1{ + color:white; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + background-color: rgb(100,79,12,76%); + border:0; +} +.boton1:hover{ + background-color: rgb(100,79,12,50%); +} +.boton2{ + color:white; + background-color: #1B3D70; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + border:0; + margin-bottom: 15px; +} +.boton2:hover{ + background-color:rgb(27,61,112,50%); +} \ No newline at end of file -- 2.43.0 From 4489db47e761949a6181be05b8e8576ab335c893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Tue, 19 Apr 2022 14:48:28 -0500 Subject: [PATCH 04/13] codigo qr y login --- components/login/login.js | 133 +++++++++++------- components/profesores_registro/profesores.js | 63 +++++---- components/qr.js | 24 ++++ package-lock.json | 135 ++++++++++++++++++- package.json | 3 +- pages/login2.js | 18 --- pages/operador.js | 31 +++++ styles/admin.module.css | 2 +- styles/globals.css | 23 +--- 9 files changed, 316 insertions(+), 116 deletions(-) create mode 100644 components/qr.js delete mode 100644 pages/login2.js create mode 100644 pages/operador.js diff --git a/components/login/login.js b/components/login/login.js index 7935578..55c45c0 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -1,68 +1,81 @@ //como hacer un campo de entrada o un input props.entrada1 import styles from "../../styles/admin.module.css"; import 'bootstrap/dist/css/bootstrap.min.css'; -import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; +import { Container, Row, Col,Form,Button,P,InputGroup,FormControl,Dropdown } from "react-bootstrap"; +import React,{useState,useRef,useEffect,setSelect,setRadio} from 'react'; -import React,{useState,useRef,useEffect} from 'react'; -function Log(props) { +function Log() { const [radio,setRadio]=useState("profesor"); return (
-
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
+
-

LOGIN

-
-
-

REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS

+
+ + {setRadio(e.target.value)}}/> - -
-
- {setRadio(e.target.value)}} + > + {setRadio(e.target.value)}}/> - -
-
- {setRadio(e.target.value)}} + > + {setRadio(e.target.value)}}/> - -
+ onChange={(e)=>{setRadio(e.target.value)}} + > +
-
+

{(() => { switch (radio) { - case "profesor": return <>



+ case "profesor": return <> + + + + + + + + + + + ; + case "operador": return <> +

+ + + + + + + + +
+ ; - case "operador": return <>



- ; - case "admin": return <>



+ case "admin": return <> +
+ + + + + + + + +
+ ; } })()} @@ -70,12 +83,38 @@ function Log(props) {
-

-

+ {(() => { + if(radio==="profesor") + return( +

+ + + +

+ ) + else if(radio==="operador") + return( +

+ + + +

+ ) + else if(radio==="admin") + return( +

+ + + +

+ ) + })()} +
+
); } diff --git a/components/profesores_registro/profesores.js b/components/profesores_registro/profesores.js index eddf14b..1f45015 100644 --- a/components/profesores_registro/profesores.js +++ b/components/profesores_registro/profesores.js @@ -7,38 +7,37 @@ function Registro(){ return(
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
- -
- - -

Nombre:

-

Número de trabajador:

-

Adscripción:

-

Cantidad de invitados:

- - -
-

Gabriela Gómez Hernández

-

2013050757

-

Estudiante

- -
-
- {setSelect(e.target.value)}} > - - - - - - - -
-
-
-
- -
-
+ + + +

Nombre:

+

Número de trabajador:

+

Adscripción:

+

Cantidad de invitados:

+ + +
+

Gabriela Gómez Hernández

+

2013050757

+

Estudiante

+ +
+
+ {setSelect(e.target.value)}} > + + + + + + + +
+
+
+
+ +
+
{(() => { switch(select){ diff --git a/components/qr.js b/components/qr.js new file mode 100644 index 0000000..23557c4 --- /dev/null +++ b/components/qr.js @@ -0,0 +1,24 @@ +import React, { useState } from 'react'; +import { QrReader } from 'react-qr-reader'; + +function Qr(props){ + const [data, setData] = useState('No result'); + return ( + <> + { + if (!!result) { + setData(result?.text); + } + + if (!!error) { + console.info(error); + } + }} + style={{ width: '100%' }} + /> +

{data}

+ + ); +} +export default Qr; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2c62fb9..6d3bc51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "next": "12.1.4", "react": "18.0.0", "react-bootstrap": "^2.2.3", - "react-dom": "18.0.0" + "react-dom": "18.0.0", + "react-qr-reader": "^3.0.0-beta-1" }, "devDependencies": { "eslint": "8.12.0", @@ -516,6 +517,37 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@zxing/browser": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zxing/browser/-/browser-0.0.7.tgz", + "integrity": "sha512-AepzMgDnD6EjxewqmXpHJsi4S3Gw9ilZJLIbTf6fWuWySEcHBodnGu3p7FWlgq1Sd5QyfPhTum5z3CBkkhMVng==", + "optionalDependencies": { + "@zxing/text-encoding": "^0.9.0" + }, + "peerDependencies": { + "@zxing/library": "^0.18.3" + } + }, + "node_modules/@zxing/library": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.18.6.tgz", + "integrity": "sha512-bulZ9JHoLFd9W36pi+7e7DnEYNJhljYjZ1UTsKPOoLMU3qtC+REHITeCRNx40zTRJZx18W5TBRXt5pq2Uopjsw==", + "dependencies": { + "ts-custom-error": "^3.0.0" + }, + "engines": { + "node": ">= 10.4.0" + }, + "optionalDependencies": { + "@zxing/text-encoding": "~0.9.0" + } + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "node_modules/acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", @@ -1555,6 +1587,19 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2606,6 +2651,20 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "node_modules/react-qr-reader": { + "version": "3.0.0-beta-1", + "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-3.0.0-beta-1.tgz", + "integrity": "sha512-5HeFH9x/BlziRYQYGK2AeWS9WiKYZtGGMs9DXy3bcySTX3C9UJL9EwcPnWw8vlf7JP4FcrAlr1SnZ5nsWLQGyw==", + "dependencies": { + "@zxing/browser": "0.0.7", + "@zxing/library": "^0.18.3", + "rollup": "^2.67.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + } + }, "node_modules/react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -2705,6 +2764,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rollup": { + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -2942,6 +3015,14 @@ "node": ">=8.0" } }, + "node_modules/ts-custom-error": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.2.0.tgz", + "integrity": "sha512-cBvC2QjtvJ9JfWLvstVnI45Y46Y5dMxIaG1TDMGAD/R87hpvqFL+7LhvUDhnRCfOnx/xitollFWWvUKKKhbN0A==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -3419,6 +3500,29 @@ "eslint-visitor-keys": "^3.0.0" } }, + "@zxing/browser": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zxing/browser/-/browser-0.0.7.tgz", + "integrity": "sha512-AepzMgDnD6EjxewqmXpHJsi4S3Gw9ilZJLIbTf6fWuWySEcHBodnGu3p7FWlgq1Sd5QyfPhTum5z3CBkkhMVng==", + "requires": { + "@zxing/text-encoding": "^0.9.0" + } + }, + "@zxing/library": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.18.6.tgz", + "integrity": "sha512-bulZ9JHoLFd9W36pi+7e7DnEYNJhljYjZ1UTsKPOoLMU3qtC+REHITeCRNx40zTRJZx18W5TBRXt5pq2Uopjsw==", + "requires": { + "@zxing/text-encoding": "~0.9.0", + "ts-custom-error": "^3.0.0" + } + }, + "@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", @@ -4215,6 +4319,12 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4960,6 +5070,16 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-qr-reader": { + "version": "3.0.0-beta-1", + "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-3.0.0-beta-1.tgz", + "integrity": "sha512-5HeFH9x/BlziRYQYGK2AeWS9WiKYZtGGMs9DXy3bcySTX3C9UJL9EwcPnWw8vlf7JP4FcrAlr1SnZ5nsWLQGyw==", + "requires": { + "@zxing/browser": "0.0.7", + "@zxing/library": "^0.18.3", + "rollup": "^2.67.2" + } + }, "react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -5024,6 +5144,14 @@ "glob": "^7.1.3" } }, + "rollup": { + "version": "2.70.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz", + "integrity": "sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==", + "requires": { + "fsevents": "~2.3.2" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -5180,6 +5308,11 @@ "is-number": "^7.0.0" } }, + "ts-custom-error": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.2.0.tgz", + "integrity": "sha512-cBvC2QjtvJ9JfWLvstVnI45Y46Y5dMxIaG1TDMGAD/R87hpvqFL+7LhvUDhnRCfOnx/xitollFWWvUKKKhbN0A==" + }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", diff --git a/package.json b/package.json index b443a59..899171a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "next": "12.1.4", "react": "18.0.0", "react-bootstrap": "^2.2.3", - "react-dom": "18.0.0" + "react-dom": "18.0.0", + "react-qr-reader": "^3.0.0-beta-1" }, "devDependencies": { "eslint": "8.12.0", diff --git a/pages/login2.js b/pages/login2.js deleted file mode 100644 index 1cd7701..0000000 --- a/pages/login2.js +++ /dev/null @@ -1,18 +0,0 @@ -import Layout from '../components/layouts/layout' -import 'bootstrap/dist/css/bootstrap.min.css'; -import Log from '../components/login/login'; -//import Link from 'next/link' -import Head from 'next/head' - -export default function Login(){ - return( - - - Login-Medallas - -
- -
-
- ) -} \ No newline at end of file diff --git a/pages/operador.js b/pages/operador.js new file mode 100644 index 0000000..fa45202 --- /dev/null +++ b/pages/operador.js @@ -0,0 +1,31 @@ +import styles from "../styles/admin.module.css"; +import Layout from '../components/layouts/layout'; +import Qr from '../components/qr'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Head from 'next/head'; +import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; + +export default function Register(){ + return( + + + Operador + + + +

Operador

+
+ + + + + + + + + + +
+
+ ) +} \ No newline at end of file diff --git a/styles/admin.module.css b/styles/admin.module.css index fcb731d..56b6efd 100644 --- a/styles/admin.module.css +++ b/styles/admin.module.css @@ -5,7 +5,7 @@ } .subtitulo{ font-family: 'Vollkorn', serif; - color:#BC9516; + color:#1B3D70; font-weight: bold; font-size: x-large; } diff --git a/styles/globals.css b/styles/globals.css index b6ace9c..642158c 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -17,32 +17,23 @@ a { } #contenido{ - background-color: rgb(144,114,16,32%); - border-radius:30px; margin:3%; text-align: center; - min-height: 400px; + min-height: 430px; + max-width: 500px; margin-left: 7%; margin-right: 7%; padding-top: 30px; font-family: 'Vollkorn', serif; - border-width: 1px; - border-color: black; - border-style: solid; -} -.titulo{ - color:#644F0C; - font-family: 'Vollkorn', serif; - text-align: center; - font-size:xx-large; - font-weight: bolder; - margin-top: 30px; + border-width: 0px; + font-size: large; } + #subtitulo{ - color:#644F0C; + color:#1B3D70; font-family: 'Vollkorn', serif; - font-size:xx-large; + font-size:X-large; text-align: center; font-weight: bold; } -- 2.43.0 From 9a5564d870b5722c2e7f14a78e46b80993256245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Fri, 22 Apr 2022 00:32:36 -0500 Subject: [PATCH 05/13] Correccion del Login --- components/layouts/header2.js | 18 +++ components/login/login.js | 259 +++++++++++++++++++--------------- package-lock.json | 67 ++++++++- package.json | 3 +- pages/index.js | 20 ++- pages/login.js | 17 +-- styles/default.module.css | 24 ++-- styles/login.module.css | 34 +++++ 8 files changed, 296 insertions(+), 146 deletions(-) create mode 100644 styles/login.module.css diff --git a/components/layouts/header2.js b/components/layouts/header2.js index e69de29..4a59602 100644 --- a/components/layouts/header2.js +++ b/components/layouts/header2.js @@ -0,0 +1,18 @@ +import Image from "next/image"; +import LogoUnam from "./../../public/Logo-UNAM.png"; +import LogoFes from "./../../public/logo_fesa.png"; +import styles from "../../styles/default.module.css"; +import { Container, Row, Col } from "react-bootstrap"; +function Header() { + return ( +
+ + + + + + +
+ ) +} +export default Header; diff --git a/components/login/login.js b/components/login/login.js index 55c45c0..c608b91 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -1,121 +1,150 @@ -//como hacer un campo de entrada o un input props.entrada1 -import styles from "../../styles/admin.module.css"; -import 'bootstrap/dist/css/bootstrap.min.css'; -import { Container, Row, Col,Form,Button,P,InputGroup,FormControl,Dropdown } from "react-bootstrap"; -import React,{useState,useRef,useEffect,setSelect,setRadio} from 'react'; +import {useState} from "react"; +import "bootstrap/dist/css/bootstrap.min.css"; +import {Container,Row,Col,Form,Button,InputGroup,FormControl} from "react-bootstrap" +import {FormGroup, Label, Input} from "reactstrap"; +import styles from "../../styles/login.module.css"; -function Log() { - const [radio,setRadio]=useState("profesor"); - return ( -
- -
-
-

REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS

-
- - { + setRadio(e.target.value); + } + + return ( + + +

REGISTRO DE PROFESORES PARA OBTENCIÓN DE MEDALLAS

+
+ + + + + + {setRadio(e.target.value)}} - >
- + + + + + {setRadio(e.target.value)}} - > - + + + + + {setRadio(e.target.value)}} - > -
-
-
-

- {(() => { - switch (radio) { - case "profesor": return <> - - - - - - - - - - - ; - case "operador": return <> -

- - - - - - - - -
- - ; - case "admin": return <> -
- - - - - - - - -
- - ; - } - })()} + checked={radio == "admin" ? true : false} + onChange={cambioRadio} + /> + + + + + + + + + {(() => { + switch (radio) { + case "profesor": return <> + + + + + + + + + + + ; + case "operador": return <> +
+ + + + + + + + +
+ + ; + case "admin": return <> +
+ + + + + + + + +
+ + ; + } + })()} + +
+
+ + + {(() => { + if(radio==="profesor") + return( +

+ + +

-
- - - {(() => { - if(radio==="profesor") - return( -

- - - -

- ) - else if(radio==="operador") - return( -

- - - -

- ) - else if(radio==="admin") - return( -

- - - -

- ) - })()} - - -
-
-
-
-
- ); + ) + else if(radio==="operador") + return( +

+ + + +

+ ) + else if(radio==="admin") + return( +

+ + + +

+ ) + })()} + +
+ + ); } -export default Log; + +export default App; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6d3bc51..bf0a017 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,8 @@ "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", - "react-qr-reader": "^3.0.0-beta-1" + "react-qr-reader": "^3.0.0-beta-1", + "reactstrap": "^9.0.2" }, "devDependencies": { "eslint": "8.12.0", @@ -2641,6 +2642,11 @@ "react": "^18.0.0" } }, + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -2680,6 +2686,36 @@ "react-dom": ">=16.6.0" } }, + "node_modules/reactstrap": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-9.0.2.tgz", + "integrity": "sha512-vvSy/dX7UL5fsfu4WMLnPYfrBS/G2YQM37nff1caeAlMVqzg6NV8G7RRd8PWu8RqtCSeEjDn5ILF0ZmE2ZrHuw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@popperjs/core": "^2.6.0", + "classnames": "^2.2.3", + "prop-types": "^15.5.8", + "react-popper": "^2.2.4", + "react-transition-group": "^4.4.2" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/reactstrap/node_modules/react-popper": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", + "dependencies": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + }, + "peerDependencies": { + "@popperjs/core": "^2.0.0", + "react": "^16.8.0 || ^17" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -5060,6 +5096,11 @@ "scheduler": "^0.21.0" } }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -5091,6 +5132,30 @@ "prop-types": "^15.6.2" } }, + "reactstrap": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-9.0.2.tgz", + "integrity": "sha512-vvSy/dX7UL5fsfu4WMLnPYfrBS/G2YQM37nff1caeAlMVqzg6NV8G7RRd8PWu8RqtCSeEjDn5ILF0ZmE2ZrHuw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@popperjs/core": "^2.6.0", + "classnames": "^2.2.3", + "prop-types": "^15.5.8", + "react-popper": "^2.2.4", + "react-transition-group": "^4.4.2" + }, + "dependencies": { + "react-popper": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", + "requires": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + } + } + } + }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", diff --git a/package.json b/package.json index 899171a..e36d949 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", - "react-qr-reader": "^3.0.0-beta-1" + "react-qr-reader": "^3.0.0-beta-1", + "reactstrap": "^9.0.2" }, "devDependencies": { "eslint": "8.12.0", diff --git a/pages/index.js b/pages/index.js index 0ee0ed4..100a4ed 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,5 +1,17 @@ -import Layout from "../components/layouts/layout"; +import Layout from '../components/layouts/layout'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Head from 'next/head'; +import App from '../components/login/login'; -const Index = () => Esta es la página principal; - -export default Index; \ No newline at end of file +export default function Register(){ + return( + + + Login + +
+ +
+
+ ) +} \ No newline at end of file diff --git a/pages/login.js b/pages/login.js index bf1d61e..abdc430 100644 --- a/pages/login.js +++ b/pages/login.js @@ -1,20 +1,17 @@ import Layout from '../components/layouts/layout' import 'bootstrap/dist/css/bootstrap.min.css'; -import Log from '../components/login/login'; +import App from '../components/login/login'; import Image from "next/image"; import icono from "../public/medal-solid.svg"; +import "bootstrap/dist/css/bootstrap.min.css"; +import {Container} from "react-bootstrap"; //import Link from 'next/link' import Head from 'next/head' export default function Login(){ return( - - - Login-Medallas - -
- -
-
- ) + + + + ); } diff --git a/styles/default.module.css b/styles/default.module.css index 3737450..d1aa8f0 100644 --- a/styles/default.module.css +++ b/styles/default.module.css @@ -4,26 +4,20 @@ } .azulUnam { background-color: #1e3c70; + height: 7rem; +} +.contenedor{ + height: 3rem; } .footer { text-align: center; color: white; } - -@media (max-width: 768px) { - .footer { - font-size: 0.7rem; - } - .logo_unam { - position: absolute; - visibility: hidden; - display: none; - } - .logo_acatlan { - margin: 0 auto; - visibility: visible; - width: auto; - } +.logo_unam{ + background-color:#1e3c70; +} +.logo_acatlan { + background-color: #1e3c70; } diff --git a/styles/login.module.css b/styles/login.module.css new file mode 100644 index 0000000..f709301 --- /dev/null +++ b/styles/login.module.css @@ -0,0 +1,34 @@ +.Log { + text-align: center; + padding: 40px 30px; +} +.formGroupRadios{ + display: flex; + align-items: center; + justify-content:space-between; + color:#000000; + font-size: large; + font-weight: normal; +} +.contenido{ + font-family: 'Vollkorn', serif; + min-height: 500px; + margin-top: 30px; + color:#1B3D70; + font-size: x-large; + font-weight: bold; +} + +.ingresar{ + margin-top: 15px; + color:white; + background-color: #1B3D70; + font-family: 'Vollkorn', serif; + font-size: x-large; + font-weight: bold; + border:0; +} + +.ingresar:hover{ + background-color:rgb(27,61,112,70%); +} \ No newline at end of file -- 2.43.0 From b9db9ab306f022afc2286107c25b7ffde4253dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Sat, 23 Apr 2022 01:02:26 -0500 Subject: [PATCH 06/13] =?UTF-8?q?correcci=C3=B3n=20de=20operador/a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/qr.js | 1 - pages/admin.js | 19 +++++++++--------- pages/login.js | 17 ---------------- pages/operador.js | 51 ++++++++++++++++++++++++++++++++++++----------- 4 files changed, 48 insertions(+), 40 deletions(-) delete mode 100644 pages/login.js diff --git a/components/qr.js b/components/qr.js index 23557c4..0e8a395 100644 --- a/components/qr.js +++ b/components/qr.js @@ -17,7 +17,6 @@ function Qr(props){ }} style={{ width: '100%' }} /> -

{data}

); } diff --git a/pages/admin.js b/pages/admin.js index 34b8023..3308b10 100644 --- a/pages/admin.js +++ b/pages/admin.js @@ -12,16 +12,15 @@ export default function Admin(){

Admin

- -

-

- -
- - -

- -

+ +
+ + +
diff --git a/pages/login.js b/pages/login.js deleted file mode 100644 index abdc430..0000000 --- a/pages/login.js +++ /dev/null @@ -1,17 +0,0 @@ -import Layout from '../components/layouts/layout' -import 'bootstrap/dist/css/bootstrap.min.css'; -import App from '../components/login/login'; -import Image from "next/image"; -import icono from "../public/medal-solid.svg"; -import "bootstrap/dist/css/bootstrap.min.css"; -import {Container} from "react-bootstrap"; -//import Link from 'next/link' -import Head from 'next/head' - -export default function Login(){ - return( - - - - ); -} diff --git a/pages/operador.js b/pages/operador.js index fa45202..949fa2c 100644 --- a/pages/operador.js +++ b/pages/operador.js @@ -4,28 +4,55 @@ import Qr from '../components/qr'; import 'bootstrap/dist/css/bootstrap.min.css'; import Head from 'next/head'; import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; +import React, { useState } from 'react'; export default function Register(){ + const [data, setData] = useState('');//este se + const [data2, setData2]= useState('Escanear'); + + const setDataOn = () => { + if(data==""){ + setData(); + setData2("Terminar") + } + else{ + setData(""); + setData2("Escanear"); + } + } return( Operador - - -

Operador

-
+ - - - - - - - - +

Operador

+
+ + + +

{data}

+ + + + + + +
+ + + + + + + + +
) } \ No newline at end of file -- 2.43.0 From 36e973213893aebdcbdedd9b1500a7a44f502430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Mon, 25 Apr 2022 08:06:14 -0500 Subject: [PATCH 07/13] correcciones de el header --- components/layouts/header.js | 46 ++++++++++++--------------------- components/layouts/header2.js | 18 ------------- components/{ => operador}/qr.js | 0 pages/operador.js | 2 +- styles/default.module.css | 8 +++++- 5 files changed, 24 insertions(+), 50 deletions(-) delete mode 100644 components/layouts/header2.js rename components/{ => operador}/qr.js (100%) diff --git a/components/layouts/header.js b/components/layouts/header.js index 82e03fa..7579773 100644 --- a/components/layouts/header.js +++ b/components/layouts/header.js @@ -2,37 +2,23 @@ import Image from "next/image"; import LogoUnam from "./../../public/Logo-UNAM.png"; import LogoFes from "./../../public/logo_fesa.png"; import styles from "../../styles/default.module.css"; -import { Container, Row, Col } from "react-bootstrap"; - +import { Container, Row, Col,Stack } from "react-bootstrap"; function Header() { - return ( -
- -
- - logo unam - -
- -
- - logo fes - -
+ return ( +
+ +
+
+
- -
- ); +
+ ) } - export default Header; +/* + + + + + + */ \ No newline at end of file diff --git a/components/layouts/header2.js b/components/layouts/header2.js deleted file mode 100644 index 4a59602..0000000 --- a/components/layouts/header2.js +++ /dev/null @@ -1,18 +0,0 @@ -import Image from "next/image"; -import LogoUnam from "./../../public/Logo-UNAM.png"; -import LogoFes from "./../../public/logo_fesa.png"; -import styles from "../../styles/default.module.css"; -import { Container, Row, Col } from "react-bootstrap"; -function Header() { - return ( -
- - - - - - -
- ) -} -export default Header; diff --git a/components/qr.js b/components/operador/qr.js similarity index 100% rename from components/qr.js rename to components/operador/qr.js diff --git a/pages/operador.js b/pages/operador.js index 949fa2c..4566f33 100644 --- a/pages/operador.js +++ b/pages/operador.js @@ -1,6 +1,6 @@ import styles from "../styles/admin.module.css"; import Layout from '../components/layouts/layout'; -import Qr from '../components/qr'; +import Qr from '../components/operador/qr'; import 'bootstrap/dist/css/bootstrap.min.css'; import Head from 'next/head'; import { Container, Row, Col,Form,Button,P } from "react-bootstrap"; diff --git a/styles/default.module.css b/styles/default.module.css index d1aa8f0..d252ab8 100644 --- a/styles/default.module.css +++ b/styles/default.module.css @@ -4,7 +4,10 @@ } .azulUnam { background-color: #1e3c70; - height: 7rem; + padding-top: 2%; + padding-bottom:2%; + padding-left: 6%; + padding-right: 6%; } .contenedor{ height: 3rem; @@ -19,6 +22,9 @@ .logo_acatlan { background-color: #1e3c70; } +.imagen{ + background-color: #1e3c70; +} -- 2.43.0 From fc85e0b6da749ba14cd127c95092b8ed8be0d88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Wed, 27 Apr 2022 10:00:27 -0500 Subject: [PATCH 08/13] =?UTF-8?q?correcci=C3=B3n=20file=20input?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/administrador/admin.js | 34 ++++++++++++++++++ components/layouts/header.js | 10 +----- components/layouts/layout.js | 1 - components/layouts/layoutSalir.js | 19 ++++++++++ components/login/login.js | 11 +++--- components/profesores_registro/invitado.js | 12 +++---- components/profesores_registro/profesores.js | 27 ++++++-------- pages/admin.js | 37 ++++++++++++-------- pages/operador.js | 11 ++---- pages/profesores.js | 2 ++ pages/registro-exitoso.js | 13 +++---- styles/default.module.css | 16 ++++++++- 12 files changed, 120 insertions(+), 73 deletions(-) create mode 100644 components/administrador/admin.js create mode 100644 components/layouts/layoutSalir.js diff --git a/components/administrador/admin.js b/components/administrador/admin.js new file mode 100644 index 0000000..24ef5d7 --- /dev/null +++ b/components/administrador/admin.js @@ -0,0 +1,34 @@ + +import React, { useState } from 'react'; +import {Form,Button} from "react-bootstrap"; + + +function fileValidation(){ + var fileInput = document.getElementById('file'); + var filePath = fileInput.value; + var allowedExtensions = /(.csv)$/i; + if(!allowedExtensions.exec(filePath)){ + alert('Please upload file having extensions .csv only.'); + fileInput.value = ''; + return false; + } +} + + + +function SubirArchivo(){ + + return( +
+ + fileValidation()}/> + +

+ +

+
+ ); +} +export default SubirArchivo; \ No newline at end of file diff --git a/components/layouts/header.js b/components/layouts/header.js index 7579773..5cc2282 100644 --- a/components/layouts/header.js +++ b/components/layouts/header.js @@ -10,15 +10,7 @@ function Header() {
-
) } -export default Header; -/* - - - - - - */ \ No newline at end of file +export default Header; \ No newline at end of file diff --git a/components/layouts/layout.js b/components/layouts/layout.js index 28f4957..dc64013 100644 --- a/components/layouts/layout.js +++ b/components/layouts/layout.js @@ -6,7 +6,6 @@ import Footer from "./footer"; const Layout = (props) => (
-
diff --git a/components/layouts/layoutSalir.js b/components/layouts/layoutSalir.js new file mode 100644 index 0000000..75e9007 --- /dev/null +++ b/components/layouts/layoutSalir.js @@ -0,0 +1,19 @@ +import styles from "../../styles/default.module.css"; +import { Container, Row, Col,Stack,Button } from "react-bootstrap"; +function Salir(){ + return( +
+ + + + + +
+ ); +} + +export default Salir; \ No newline at end of file diff --git a/components/login/login.js b/components/login/login.js index c608b91..9383b18 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -5,12 +5,11 @@ import {FormGroup, Label, Input} from "reactstrap"; import styles from "../../styles/login.module.css"; function App() { - const[radio, setRadio] = useState("profesor"); + const[radio, setRadio] = useState(""); const cambioRadio=e=>{ setRadio(e.target.value); } - return ( @@ -32,7 +31,6 @@ function App() { Profesor/a - - { if(radio==="profesor") return( -

+

@@ -126,7 +123,7 @@ function App() { ) else if(radio==="operador") return( -

+

@@ -134,7 +131,7 @@ function App() { ) else if(radio==="admin") return( -

+

diff --git a/components/profesores_registro/invitado.js b/components/profesores_registro/invitado.js index 7c6583a..5872d38 100644 --- a/components/profesores_registro/invitado.js +++ b/components/profesores_registro/invitado.js @@ -9,9 +9,9 @@ function Invitado(props){ -

Nombre(s):

-

Apellidos:

-

Edad:

+

Nombre(s):

+

Apellidos:

+

Edad:

@@ -31,9 +31,9 @@ function Invitado(props){ -
-
-
+
+
+
- - + @@ -125,11 +174,25 @@ function Invitado(props){
- + + {errors.nombre &&

{errors.nombre}

} + {errors.apellidos &&

{errors.apellidos}

} +
+ ) } -export default Invitado; \ No newline at end of file +export default Invitado; + +/* + + + + + */ + diff --git a/components/profesores_registro/profesores.js b/components/profesores_registro/profesores.js index 5289c52..eb3c586 100644 --- a/components/profesores_registro/profesores.js +++ b/components/profesores_registro/profesores.js @@ -6,7 +6,9 @@ function Registro(){ const[select,setSelect]=useState("0"); return( +
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
+
@@ -39,9 +41,10 @@ function Registro(){ +
{(() => { switch(select){ - case "1": return ; + case "1": return (<>); case "2": return (<> ); case "3": return (<> @@ -52,11 +55,14 @@ function Registro(){ - + + +
); } -export default Registro; \ No newline at end of file +export default Registro; +//tiene que ser un boton de tipo submit? \ No newline at end of file diff --git a/components/profesores_registro/useInvitado.js b/components/profesores_registro/useInvitado.js new file mode 100644 index 0000000..5172f5f --- /dev/null +++ b/components/profesores_registro/useInvitado.js @@ -0,0 +1,29 @@ +import {useState} from 'react'; + + +export const useInvitado = (initialForm,validateForm) => { + const [form, setForm] = useState(initialForm); + const [errors, setErrors] = useState({}); + const [loading, setLoading] = useState(false); + const [response, setResponse] = useState(null); + + const handleChange = (e) =>{ + const {name,value}=e.target; + setForm({ + ...form, + [name]:value + }); + } + const handleBlur = (e) =>{ + handleChange(e); + setErrors(validateForm(form)); + } + const handleSubmit = (e) =>{ + e.preventDefault(); + setErrors(validateForm(form)); + } + + return{ + form,errors,loading,response,handleChange,handleBlur,handleSubmit + } +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bf0a017..110aa6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,11 +12,14 @@ "bootstrap": "^5.1.3", "moment": "^2.29.2", "next": "12.1.4", + "prop-types": "^15.8.1", "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", "react-qr-reader": "^3.0.0-beta-1", - "reactstrap": "^9.0.2" + "react-router-dom": "^6.3.0", + "reactstrap": "^9.0.2", + "sweetalert": "^2.1.2" }, "devDependencies": { "eslint": "8.12.0", @@ -1011,6 +1014,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1767,6 +1775,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "dependencies": { + "@babel/runtime": "^7.7.6" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -2541,6 +2557,11 @@ "node": ">= 0.8.0" } }, + "node_modules/promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=" + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -2671,6 +2692,30 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, + "node_modules/react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "dependencies": { + "history": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "dependencies": { + "history": "^5.2.0", + "react-router": "6.3.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -3033,6 +3078,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sweetalert": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", + "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", + "dependencies": { + "es6-object-assign": "^1.1.0", + "promise-polyfill": "^6.0.2" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -3899,6 +3953,11 @@ "is-symbol": "^1.0.2" } }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -4476,6 +4535,14 @@ "has-symbols": "^1.0.2" } }, + "history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -5025,6 +5092,11 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=" + }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5121,6 +5193,23 @@ "rollup": "^2.67.2" } }, + "react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "requires": { + "history": "^5.2.0" + } + }, + "react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "requires": { + "history": "^5.2.0", + "react-router": "6.3.0" + } + }, "react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -5358,6 +5447,15 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "sweetalert": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", + "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", + "requires": { + "es6-object-assign": "^1.1.0", + "promise-polyfill": "^6.0.2" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", diff --git a/package.json b/package.json index e36d949..511efd0 100644 --- a/package.json +++ b/package.json @@ -13,11 +13,14 @@ "bootstrap": "^5.1.3", "moment": "^2.29.2", "next": "12.1.4", + "prop-types": "^15.8.1", "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", "react-qr-reader": "^3.0.0-beta-1", - "reactstrap": "^9.0.2" + "react-router-dom": "^6.3.0", + "reactstrap": "^9.0.2", + "sweetalert": "^2.1.2" }, "devDependencies": { "eslint": "8.12.0", diff --git a/pages/admin.js b/pages/admin.js index cb6266e..bebda68 100644 --- a/pages/admin.js +++ b/pages/admin.js @@ -6,9 +6,14 @@ import Head from 'next/head'; import { Container, Row, Col,Button} from "react-bootstrap"; import SubirArchivo from "../components/administrador/admin"; import React, { useState } from 'react'; +import axios from "axios"; export default function Admin(){ const [archive, setArchive] = useState('');//este se const [archive2, setArchive2] = useState('Subir base de datos de profesores'); + + const handleFile = () => { + // axios.get() + } const setArchiveOn = () => { if(archive==""){ setArchive(); @@ -35,7 +40,7 @@ export default function Admin(){ {archive2} {archive} -
diff --git a/pages/operador.js b/pages/operador.js index 9829d50..1de1403 100644 --- a/pages/operador.js +++ b/pages/operador.js @@ -32,7 +32,7 @@ export default function Register(){

Operador

- +

{data}

diff --git a/styles/admin.module.css b/styles/admin.module.css index 56b6efd..7b33232 100644 --- a/styles/admin.module.css +++ b/styles/admin.module.css @@ -1,10 +1,17 @@ .contenido{ - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; min-height: 350px; margin-top: 130px; } +.operador{ + font-family: 'Calibri','Ginebra','Verdana', serif; + min-height: 350px; + margin-top: 3%; + margin-bottom:3% + +} .subtitulo{ - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; color:#1B3D70; font-weight: bold; font-size: x-large; @@ -24,7 +31,7 @@ margin-top: 15px; color:white; background-color: #1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0; @@ -32,7 +39,7 @@ .salir{ color:white; background-color: #1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0; diff --git a/styles/default.module.css b/styles/default.module.css index 68ee24f..8b2f4a0 100644 --- a/styles/default.module.css +++ b/styles/default.module.css @@ -34,7 +34,7 @@ .boton{ color:white; background-color: #2c56a0; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0px; diff --git a/styles/exito.module.css b/styles/exito.module.css index 0fb869f..91ac17b 100644 --- a/styles/exito.module.css +++ b/styles/exito.module.css @@ -2,7 +2,7 @@ min-height: 500px; margin-bottom: 30px; color:#644F0C; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size:xx-large; font-weight: bold; padding: 8%; @@ -12,7 +12,7 @@ .salir{ color:white; background-color: #1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0; diff --git a/styles/globals.css b/styles/globals.css index 642158c..97472f6 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -24,7 +24,7 @@ a { margin-left: 7%; margin-right: 7%; padding-top: 30px; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; border-width: 0px; font-size: large; } @@ -32,7 +32,7 @@ a { #subtitulo{ color:#1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size:X-large; text-align: center; font-weight: bold; diff --git a/styles/invitado.module.css b/styles/invitado.module.css index 715e622..612344f 100644 --- a/styles/invitado.module.css +++ b/styles/invitado.module.css @@ -10,4 +10,7 @@ border-width: 1px; border-color: black; border-style: solid; +} +.boton{ + margin-bottom: 15px; } \ No newline at end of file diff --git a/styles/login.module.css b/styles/login.module.css index f709301..910dd39 100644 --- a/styles/login.module.css +++ b/styles/login.module.css @@ -11,7 +11,7 @@ font-weight: normal; } .contenido{ - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; min-height: 500px; margin-top: 30px; color:#1B3D70; @@ -23,7 +23,7 @@ margin-top: 15px; color:white; background-color: #1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0; diff --git a/styles/profesores.module.css b/styles/profesores.module.css index 804a494..6a2e7eb 100644 --- a/styles/profesores.module.css +++ b/styles/profesores.module.css @@ -4,7 +4,7 @@ min-height: 400px; margin-bottom: 30px; color:#644F0C; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size:xx-large; font-weight: bold; padding: 5%; @@ -14,7 +14,7 @@ } .titulo{ color:#644F0C; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; text-align: center; font-size:xx-large; font-weight: bolder; @@ -30,11 +30,12 @@ } .boton1{ color:white; - font-family: 'Vollkorn', serif; - font-size: x-large; + font-family: 'Calibri','Ginebra','Verdana', serif; + font-size: large; font-weight: bold; background-color: rgb(100,79,12,76%); border:0; + margin-bottom: 15px; } .boton1:hover{ background-color: rgb(100,79,12,50%); @@ -42,7 +43,7 @@ .boton2{ color:white; background-color: #1B3D70; - font-family: 'Vollkorn', serif; + font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; font-weight: bold; border:0; -- 2.43.0 From 3e3deeaeaf83704246ca978e7ce072c9bd850a71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Tue, 3 May 2022 10:02:28 -0500 Subject: [PATCH 10/13] =?UTF-8?q?validaci=C3=B3n=20invitados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/profesores_registro/invitado.js | 198 ----- components/profesores_registro/invited.js | 694 ++++++++++++++++++ components/profesores_registro/profesores.js | 68 -- components/profesores_registro/useInvitado.js | 29 - pages/profesores.js | 4 +- styles/invitado.module.css | 5 +- styles/profesores.module.css | 19 +- 7 files changed, 714 insertions(+), 303 deletions(-) delete mode 100644 components/profesores_registro/invitado.js create mode 100644 components/profesores_registro/invited.js delete mode 100644 components/profesores_registro/profesores.js delete mode 100644 components/profesores_registro/useInvitado.js diff --git a/components/profesores_registro/invitado.js b/components/profesores_registro/invitado.js deleted file mode 100644 index 570ea2a..0000000 --- a/components/profesores_registro/invitado.js +++ /dev/null @@ -1,198 +0,0 @@ -import styles from "../../styles/invitado.module.css"; -import { Container, Row, Col,InputGroup,FormControl,Button} from "react-bootstrap"; -import { useInvitado } from "./useInvitado"; - -const initialForm= { - nombre:"", - apellidos:"", - edad:18 -} -const validationsForm=(form) =>{ - let errors={}; - - if(!form.nombre.trim()){ - errors.nombre="El campo 'Nombre' es requerido" - } - if(!form.apellidos.trim()){ - errors.apellidos="El campo 'Apellidos' es requerido" - } - - return errors -} - - -function Invitado(props){ - - const { - form, - errors, - loading, - response, - handleChange, - handleBlur, - handleSubmit} - = useInvitado (initialForm,validationsForm); - - - return( - -
-
- - -

INVITADO {props.numero}

-
- - -

Nombre(s):

-

Apellidos:

-

Edad:

- - - - - - - - - - -
-
-
- -
-
-
-
-
- - {errors.nombre &&

{errors.nombre}

} - {errors.apellidos &&

{errors.apellidos}

} - -
- -
-
-
- ) -} -export default Invitado; - -/* - - - - - */ - diff --git a/components/profesores_registro/invited.js b/components/profesores_registro/invited.js new file mode 100644 index 0000000..3df96eb --- /dev/null +++ b/components/profesores_registro/invited.js @@ -0,0 +1,694 @@ +import styles from "../../styles/profesores.module.css"; +import 'bootstrap/dist/css/bootstrap.min.css'; +import { Container, Row, Col,InputGroup,FormControl,Button,Form,Stack} from "react-bootstrap"; +import React,{useState} from 'react'; + + + +export default function Invited(){ + const[select,setSelect]=useState("0"); + const[edad,setEdad]=useState("18"); + + return( +
+ + +
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
+
+ + + +

Nombre:

+

Número de trabajador:

+

Adscripción:

+

Cantidad de invitados:

+ + +
+

Gabriela Gómez Hernández

+

2013050757

+

Estudiante

+ +
+
+ {setSelect(e.target.value)}} defaultValue="0"> + + + + + +
+
+
+
+ +
+
+ + {(() => { + switch(select){ + case "1": return ( +
+ + +

INVITADO 1

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ ); + case "2": return ( +
+ + +

INVITADO 1

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

INVITADO 2

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ ); + case "3": return ( +
+ + +

INVITADO 1

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

INVITADO 2

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

INVITADO 3

+ + Nombre(s): + + + + Apellidos: + + +
+ + + Edad: + {setEdad(e.target.value)}} > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ ); + } + })()} +
+
+ ); +} \ No newline at end of file diff --git a/components/profesores_registro/profesores.js b/components/profesores_registro/profesores.js deleted file mode 100644 index eb3c586..0000000 --- a/components/profesores_registro/profesores.js +++ /dev/null @@ -1,68 +0,0 @@ -import styles from "../../styles/profesores.module.css"; -import Invitado from './invitado'; -import React,{useState} from 'react'; -import { Container, Row, Col,Form,Button } from "react-bootstrap"; -function Registro(){ - const[select,setSelect]=useState("0"); - return( - - -
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
-
- - - -

Nombre:

-

Número de trabajador:

-

Adscripción:

-

Cantidad de invitados:

- - -
-

Gabriela Gómez Hernández

-

2013050757

-

Estudiante

- -
-
- {setSelect(e.target.value)}} > - - - - - - - -
-
-
-
- -
- -
-
- {(() => { - switch(select){ - case "1": return (<>); - case "2": return (<> - ); - case "3": return (<> - ); - } - })()} - - - - - - - - - -
-
- ); -} -export default Registro; -//tiene que ser un boton de tipo submit? \ No newline at end of file diff --git a/components/profesores_registro/useInvitado.js b/components/profesores_registro/useInvitado.js deleted file mode 100644 index 5172f5f..0000000 --- a/components/profesores_registro/useInvitado.js +++ /dev/null @@ -1,29 +0,0 @@ -import {useState} from 'react'; - - -export const useInvitado = (initialForm,validateForm) => { - const [form, setForm] = useState(initialForm); - const [errors, setErrors] = useState({}); - const [loading, setLoading] = useState(false); - const [response, setResponse] = useState(null); - - const handleChange = (e) =>{ - const {name,value}=e.target; - setForm({ - ...form, - [name]:value - }); - } - const handleBlur = (e) =>{ - handleChange(e); - setErrors(validateForm(form)); - } - const handleSubmit = (e) =>{ - e.preventDefault(); - setErrors(validateForm(form)); - } - - return{ - form,errors,loading,response,handleChange,handleBlur,handleSubmit - } -}; \ No newline at end of file diff --git a/pages/profesores.js b/pages/profesores.js index 14e16bf..705a595 100644 --- a/pages/profesores.js +++ b/pages/profesores.js @@ -3,7 +3,7 @@ import Layout from '../components/layouts/layout'; import Salir from '../components/layouts/layoutSalir'; import 'bootstrap/dist/css/bootstrap.min.css'; import Head from 'next/head'; -import Registro from '../components/profesores_registro/profesores'; +import Invited from '../components/profesores_registro/invited'; export default function Register(){ return( @@ -13,7 +13,7 @@ export default function Register(){ Registro Profesores
- +
) diff --git a/styles/invitado.module.css b/styles/invitado.module.css index 612344f..d5730c1 100644 --- a/styles/invitado.module.css +++ b/styles/invitado.module.css @@ -1,4 +1,4 @@ -.container{ +.invitado{ background-color: rgb(144,114,16,19%); border-radius:30px; margin-top: 30px; @@ -11,6 +11,3 @@ border-color: black; border-style: solid; } -.boton{ - margin-bottom: 15px; -} \ No newline at end of file diff --git a/styles/profesores.module.css b/styles/profesores.module.css index 6a2e7eb..f543da5 100644 --- a/styles/profesores.module.css +++ b/styles/profesores.module.css @@ -45,10 +45,25 @@ background-color: #1B3D70; font-family: 'Calibri','Ginebra','Verdana', serif; font-size: x-large; - font-weight: bold; border:0; margin-bottom: 15px; } .boton2:hover{ background-color:rgb(27,61,112,50%); -} \ No newline at end of file +} +.invitado{ + background-color: rgb(144,114,16,19%); + border-radius:30px; + margin-top: 30px; + margin-bottom:15px; + padding-top: 20px; + color:#644F0C; + font-size: large; + border-width: 1px; + border-color: black; + border-style: solid; +} + +.edad{ + margin-bottom: 15px; +} -- 2.43.0 From 544827ee08054144845e77110f26d220796d9201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Wed, 4 May 2022 13:47:07 -0500 Subject: [PATCH 11/13] guardado de datos en login, implementacion map en invitados --- components/login/login.js | 147 +++-- components/profesores_registro/invited.js | 697 ++------------------- package-lock.json | 725 +++++++++++++++++++++- package.json | 1 + 4 files changed, 832 insertions(+), 738 deletions(-) diff --git a/components/login/login.js b/components/login/login.js index 9383b18..b124545 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -3,13 +3,60 @@ import "bootstrap/dist/css/bootstrap.min.css"; import {Container,Row,Col,Form,Button,InputGroup,FormControl} from "react-bootstrap" import {FormGroup, Label, Input} from "reactstrap"; import styles from "../../styles/login.module.css"; - +import axios from 'axios'; function App() { - const[radio, setRadio] = useState(""); + const[radio, setRadio] = useState("profesor"); + const[profesor,setProfesor]=useState('') + const[adscripcion,setAdscripcion]=useState('') + const[correo,setCorreo]=useState('') + const[contraseña,setContrasena]=useState('') - const cambioRadio=e=>{ - setRadio(e.target.value); - } + const cambioRadio=e=>{ + setRadio(e.target.value); + } + const cambioProfesor=e=>{ + setProfesor(e.target.value); + console.log(profesor) + } + const cambioCorreo=e=>{ + setCorreo(e.target.value); + console.log(correo) + } + const cambioContrasena=e=>{ + setContrasena(e.target.value); + console.log(contraseña) + } + const cambioAdscripcion=e=>{ + setAdscripcion(e.target.value); + console.log(adscripcion) + } + function handleProfesor(){ + /* axios.get(baseUrl,{params:{profesor,adscripcion}}) + .then(response=>{ + return response.data; + }) + .catch(error=>{ + console.log(error); + })*/ + } + function handleOperador(){ + /*axios.get(baseUrl,{params:{correo: correo,contrasena: contraseña}}) + .then(response=>{ + return response.data; + }) + .catch(error=>{ + console.log(error); + })*/ + } + function handleAdmin(){ + /*axios.get(baseUrl,{params:{correo: correo,contrasena: contraseña}}) + .then(response=>{ + return response.data; + }) + .catch(error=>{ + console.log(error); + })*/ + } return ( @@ -63,45 +110,57 @@ function App() { {(() => { switch (radio) { - case "profesor": return <> - - - - - - - - - + case "profesor": return <> +
+ + + + + + + + +

+ +

+
; case "operador": return <> -
- - + + + - - + + +

+ +

; case "admin": return <> -
- - + + + - - + + +

+ +

; @@ -110,36 +169,6 @@ function App() {

- - - {(() => { - if(radio==="profesor") - return( -

- - - -

- ) - else if(radio==="operador") - return( -

- - - -

- ) - else if(radio==="admin") - return( -

- - - -

- ) - })()} - -
); } diff --git a/components/profesores_registro/invited.js b/components/profesores_registro/invited.js index 3df96eb..6487efa 100644 --- a/components/profesores_registro/invited.js +++ b/components/profesores_registro/invited.js @@ -1,14 +1,14 @@ import styles from "../../styles/profesores.module.css"; import 'bootstrap/dist/css/bootstrap.min.css'; -import { Container, Row, Col,InputGroup,FormControl,Button,Form,Stack} from "react-bootstrap"; +import InputNumber from 'react-input-number'; +import { Container, Row, Col,Button,Form,Stack} from "react-bootstrap"; import React,{useState} from 'react'; - - export default function Invited(){ const[select,setSelect]=useState("0"); const[edad,setEdad]=useState("18"); - + const [invitados,setInvitados]=useState([]); + return(
@@ -31,7 +31,7 @@ export default function Invited(){
- {setSelect(e.target.value)}} defaultValue="0"> + {setSelect(e.target.value)}} defaultValue="0"> @@ -39,656 +39,55 @@ export default function Invited(){
-
+
- {(() => { - switch(select){ - case "1": return ( -
- - -

INVITADO 1

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- ); - case "2": return ( -
- - -

INVITADO 1

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

INVITADO 2

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- ); - case "3": return ( -
- - -

INVITADO 1

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

INVITADO 2

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

INVITADO 3

- - Nombre(s): - - - - Apellidos: - - -
- - - Edad: - {setEdad(e.target.value)}} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- ); - } + console.log(select) + invitados.length=0 + for(let i=0;i +
+ {invitados.map((invitado,index)=>( + + + +

INVITADO {index+1}

+ + Nombre(s): + { + console.log(e.target.value) + console.log('indice: '+index) + }}> + + + + Apellidos: + + + + Edad : + + +
+
+
+ ))} + + + +
+
); } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 110aa6b..0a18af2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", + "react-input-number": "^5.0.19", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.3.0", "reactstrap": "^9.0.2", @@ -26,6 +27,113 @@ "eslint-config-next": "12.1.4" } }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", @@ -50,6 +158,107 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/types": { + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/cache": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", + "dependencies": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "node_modules/@emotion/core": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz", + "integrity": "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/@emotion/css": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "dependencies": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "node_modules/@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "dependencies": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "node_modules/@emotion/serialize/node_modules/csstype": { + "version": "2.6.20", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", + "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + }, + "node_modules/@emotion/sheet": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, "node_modules/@eslint/eslintrc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", @@ -387,6 +596,11 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, "node_modules/@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", @@ -723,6 +937,46 @@ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, + "node_modules/babel-plugin-emotion": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", + "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-emotion/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -780,7 +1034,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -845,6 +1098,14 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, "node_modules/core-js-pure": { "version": "3.21.1", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", @@ -856,6 +1117,21 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -963,6 +1239,14 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-abstract": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", @@ -1540,6 +1824,11 @@ "node": ">=8" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -1612,8 +1901,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -1722,7 +2010,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -1796,7 +2083,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1855,6 +2141,11 @@ "loose-envify": "^1.0.0" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -1899,7 +2190,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -2072,6 +2362,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2137,6 +2432,11 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -2150,6 +2450,11 @@ "node": ">=4" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2464,7 +2769,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -2472,6 +2776,23 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -2502,14 +2823,12 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -2668,6 +2987,20 @@ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, + "node_modules/react-input-number": { + "version": "5.0.19", + "resolved": "https://registry.npmjs.org/react-input-number/-/react-input-number-5.0.19.tgz", + "integrity": "sha512-Aa9RmOoOgzCn6b/RYyrKRkBtIWGum6v9sA73rJFtl9N0O3kjWrAdj9lk09n9QoOaxvyEHc3GQZwLcUrBEIH2Cw==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/core": "^10.0.14", + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -2798,7 +3131,6 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, "dependencies": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", @@ -2815,7 +3147,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -2882,6 +3213,11 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/scheduler": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", @@ -2949,6 +3285,14 @@ "node": ">=8" } }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -3070,7 +3414,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -3093,6 +3436,14 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3281,9 +3632,99 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } } }, "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/highlight": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@babel/runtime": { "version": "7.17.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", @@ -3302,6 +3743,103 @@ "regenerator-runtime": "^0.13.4" } }, + "@babel/types": { + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", + "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/cache": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", + "requires": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "@emotion/core": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz", + "integrity": "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/css": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "requires": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "requires": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + }, + "dependencies": { + "csstype": { + "version": "2.6.20", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", + "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + } + } + }, + "@emotion/sheet": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, "@eslint/eslintrc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", @@ -3504,6 +4042,11 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, "@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", @@ -3736,6 +4279,45 @@ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, + "babel-plugin-emotion": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", + "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + } + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3780,8 +4362,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "caniuse-lite": { "version": "1.0.30001325", @@ -3824,12 +4405,32 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, "core-js-pure": { "version": "3.21.1", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", "dev": true }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3914,6 +4515,14 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, "es-abstract": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", @@ -4378,6 +4987,11 @@ "to-regex-range": "^5.0.1" } }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -4423,8 +5037,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -4503,7 +5116,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4553,7 +5165,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -4600,6 +5211,11 @@ "loose-envify": "^1.0.0" } }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -4629,7 +5245,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -4745,6 +5360,11 @@ "argparse": "^2.0.1" } }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4801,6 +5421,11 @@ "type-check": "~0.4.0" } }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -4811,6 +5436,11 @@ "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5030,11 +5660,21 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" } }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -5056,14 +5696,12 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "picocolors": { "version": "1.0.0", @@ -5173,6 +5811,16 @@ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, + "react-input-number": { + "version": "5.0.19", + "resolved": "https://registry.npmjs.org/react-input-number/-/react-input-number-5.0.19.tgz", + "integrity": "sha512-Aa9RmOoOgzCn6b/RYyrKRkBtIWGum6v9sA73rJFtl9N0O3kjWrAdj9lk09n9QoOaxvyEHc3GQZwLcUrBEIH2Cw==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/core": "^10.0.14", + "lodash": "^4.17.15" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -5270,7 +5918,6 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, "requires": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", @@ -5280,8 +5927,7 @@ "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "reusify": { "version": "1.0.4", @@ -5315,6 +5961,11 @@ "queue-microtask": "^1.2.2" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "scheduler": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", @@ -5364,6 +6015,11 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -5444,8 +6100,7 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "sweetalert": { "version": "2.1.2", @@ -5462,6 +6117,11 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5604,6 +6264,11 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" } } } diff --git a/package.json b/package.json index 511efd0..6ec5c47 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "react": "18.0.0", "react-bootstrap": "^2.2.3", "react-dom": "18.0.0", + "react-input-number": "^5.0.19", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.3.0", "reactstrap": "^9.0.2", -- 2.43.0 From 728e0643bc6c770ffa785673808d69fd316cbd9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Thu, 5 May 2022 11:49:01 -0500 Subject: [PATCH 12/13] peticiones invitados --- components/administrador/admin.js | 24 ++++++++++-- components/profesores_registro/invited.js | 47 +++++++++++++++++------ package-lock.json | 11 ++++++ package.json | 1 + pages/admin.js | 15 +++++++- 5 files changed, 81 insertions(+), 17 deletions(-) diff --git a/components/administrador/admin.js b/components/administrador/admin.js index 24ef5d7..5ae2bb1 100644 --- a/components/administrador/admin.js +++ b/components/administrador/admin.js @@ -1,10 +1,11 @@ import React, { useState } from 'react'; import {Form,Button} from "react-bootstrap"; - +let csvToJson = require('convert-csv-to-json'); +var fileInput; function fileValidation(){ - var fileInput = document.getElementById('file'); + fileInput = document.getElementById('file'); var filePath = fileInput.value; var allowedExtensions = /(.csv)$/i; if(!allowedExtensions.exec(filePath)){ @@ -14,6 +15,21 @@ function fileValidation(){ } } +function handleFile(){ + /* + let file1=fileInput; + let file2='file2.json' + csvToJson.generateJsonFileFromCsv(file1,file2); + + axios.post('url', file2) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + });*/ +} + function SubirArchivo(){ @@ -21,10 +37,10 @@ function SubirArchivo(){ return(
- fileValidation()}/> + fileValidation()} required/>

-

diff --git a/components/profesores_registro/invited.js b/components/profesores_registro/invited.js index 6487efa..6695686 100644 --- a/components/profesores_registro/invited.js +++ b/components/profesores_registro/invited.js @@ -6,8 +6,24 @@ import React,{useState} from 'react'; export default function Invited(){ const[select,setSelect]=useState("0"); - const[edad,setEdad]=useState("18"); const [invitados,setInvitados]=useState([]); + + //como obtener la informacion del profesor del login? + + function handleInvitado(){ + /* invitados.map((invitado,index)=>( + axios.post('/userinvitado', { + nombres:invitado.nombres, + apellidos:invitado.apellidos, + edad:invitado.edad + }).then(function (response) { + console.log(response); + }).catch(function (error) { + console.log(error); + }) + )) + */ + } return(
@@ -54,7 +70,6 @@ export default function Invited(){ edad:18 }) } - console.log(invitados) })()} {invitados.map((invitado,index)=>( @@ -65,26 +80,34 @@ export default function Invited(){ Nombre(s): { - console.log(e.target.value) - console.log('indice: '+index) - }}> - + onChange={(e)=>{ + invitado.nombres=e.target.value + }}/> Apellidos: - + { + invitado.apellidos=e.target.value + }} + /> - + Edad : - + { + invitado.edad=e.target.value + }} + /> - + + + {console.log(invitados)} ))} - + diff --git a/package-lock.json b/package-lock.json index 0a18af2..49d4f44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "axios": "^0.26.1", "bootstrap": "^5.1.3", + "convert-csv-to-json": "^1.3.3", "moment": "^2.29.2", "next": "12.1.4", "prop-types": "^15.8.1", @@ -1098,6 +1099,11 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/convert-csv-to-json": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/convert-csv-to-json/-/convert-csv-to-json-1.3.3.tgz", + "integrity": "sha512-lIQrCmEw0GCywtVWeJ/AGv5hhSTPsMFdqOf9GcMtActqO2Gt8z1RZgfw9NBOll479cIPM6BqDOFC8R3W7bSwtA==" + }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -4405,6 +4411,11 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "convert-csv-to-json": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/convert-csv-to-json/-/convert-csv-to-json-1.3.3.tgz", + "integrity": "sha512-lIQrCmEw0GCywtVWeJ/AGv5hhSTPsMFdqOf9GcMtActqO2Gt8z1RZgfw9NBOll479cIPM6BqDOFC8R3W7bSwtA==" + }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", diff --git a/package.json b/package.json index 6ec5c47..092540b 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "axios": "^0.26.1", "bootstrap": "^5.1.3", + "convert-csv-to-json": "^1.3.3", "moment": "^2.29.2", "next": "12.1.4", "prop-types": "^15.8.1", diff --git a/pages/admin.js b/pages/admin.js index bebda68..71096b4 100644 --- a/pages/admin.js +++ b/pages/admin.js @@ -12,7 +12,20 @@ export default function Admin(){ const [archive2, setArchive2] = useState('Subir base de datos de profesores'); const handleFile = () => { - // axios.get() + /* + axios({ + url: 'url', // url + method: 'GET', + responseType: 'blob', + }).then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', 'file.csv'); //or any other extension + document.body.appendChild(link); + link.click(); + }); + */ } const setArchiveOn = () => { if(archive==""){ -- 2.43.0 From 71073787df8ced226ee16bd827438c0c7559da93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriela=20G=C3=B3mez=20Hern=C3=A1ndez?= Date: Fri, 6 May 2022 16:41:12 -0500 Subject: [PATCH 13/13] descarga archivos scv --- components/administrador/admin.js | 6 +- components/login/login.js | 23 +- components/operador/qr.js | 29 +- components/profesores_registro/invited.js | 63 ++- package-lock.json | 576 ++++++++++++++++++++-- package.json | 4 + pages/admin.js | 42 +- pages/index.js | 2 + 8 files changed, 663 insertions(+), 82 deletions(-) diff --git a/components/administrador/admin.js b/components/administrador/admin.js index 5ae2bb1..e36251e 100644 --- a/components/administrador/admin.js +++ b/components/administrador/admin.js @@ -1,8 +1,9 @@ import React, { useState } from 'react'; import {Form,Button} from "react-bootstrap"; -let csvToJson = require('convert-csv-to-json'); -var fileInput; +import CsvDownload from 'react-json-to-csv' +//let csvToJson = require('convert-csv-to-json'); +let fileInput; function fileValidation(){ fileInput = document.getElementById('file'); @@ -14,7 +15,6 @@ function fileValidation(){ return false; } } - function handleFile(){ /* let file1=fileInput; diff --git a/components/login/login.js b/components/login/login.js index b124545..3824773 100644 --- a/components/login/login.js +++ b/components/login/login.js @@ -1,4 +1,5 @@ -import {useState} from "react"; +import {useContext, useState,useEffect} from "react"; +import { Redirect } from "react-router-dom"; import "bootstrap/dist/css/bootstrap.min.css"; import {Container,Row,Col,Form,Button,InputGroup,FormControl} from "react-bootstrap" import {FormGroup, Label, Input} from "reactstrap"; @@ -10,7 +11,7 @@ function App() { const[adscripcion,setAdscripcion]=useState('') const[correo,setCorreo]=useState('') const[contraseña,setContrasena]=useState('') - + const cambioRadio=e=>{ setRadio(e.target.value); } @@ -31,7 +32,11 @@ function App() { console.log(adscripcion) } function handleProfesor(){ - /* axios.get(baseUrl,{params:{profesor,adscripcion}}) + if(typeof window !== 'undefined'){ + localStorage.setItem('profesor',profesor) + localStorage.setItem('adscripcion',adscripcion) + } + /* axios.post(baseUrl,{params:{profesor,adscripcion}}) .then(response=>{ return response.data; }) @@ -40,7 +45,11 @@ function App() { })*/ } function handleOperador(){ - /*axios.get(baseUrl,{params:{correo: correo,contrasena: contraseña}}) + + if(typeof window !== 'undefined'){ + localStorage.setItem('correo',correo) + } + /*axios.post(baseUrl,{params:{correo: correo,contrasena: contraseña}}) .then(response=>{ return response.data; }) @@ -49,7 +58,10 @@ function App() { })*/ } function handleAdmin(){ - /*axios.get(baseUrl,{params:{correo: correo,contrasena: contraseña}}) + if(typeof window !== 'undefined'){ + localStorage.setItem('correo',correo) + } + /*axios.post(baseUrl,{params:{correo: correo,contrasena: contraseña}}) .then(response=>{ return response.data; }) @@ -119,6 +131,7 @@ function App() { placeholder="Número de trabajador" aria-label="profesor" aria-describedby="basic-addon1" + type="number" /> diff --git a/components/operador/qr.js b/components/operador/qr.js index 8f5e25b..a4c0696 100644 --- a/components/operador/qr.js +++ b/components/operador/qr.js @@ -1,18 +1,32 @@ import React, { useState } from 'react'; import { QrReader } from 'react-qr-reader'; import swal from 'sweetalert'; - +//var datos; function Qr(props){ const [data, setData] = useState('No result'); const alerta = () =>{ swal({ title: "Invitado registrado", button: "Aceptar", - timer:10000 + timer:10000, + icon:"success" }).then(() => { window.location.reload(false); }); } + const alerta2 = () =>{ + swal({ + title: "Código no válido", + button: "Aceptar", + timer:10000, + icon:"error" + }).then(() => { + window.location.reload(false); + }); + } + const validacionData=()=>{ + + } return ( <> @@ -31,7 +45,18 @@ function Qr(props){ /> {(() => { if(data!='No result'){ + /* return alerta(); + //cambiar data a objeto + var datos=JSON.parse(data); + //validar que tenga id profesor + + if(datos.id!==''){ + return alerta(); + } + else{ + return alerta2(); + }*/ } })()} diff --git a/components/profesores_registro/invited.js b/components/profesores_registro/invited.js index 6695686..a417772 100644 --- a/components/profesores_registro/invited.js +++ b/components/profesores_registro/invited.js @@ -2,12 +2,16 @@ import styles from "../../styles/profesores.module.css"; import 'bootstrap/dist/css/bootstrap.min.css'; import InputNumber from 'react-input-number'; import { Container, Row, Col,Button,Form,Stack} from "react-bootstrap"; -import React,{useState} from 'react'; +import React,{useState,useEffect} from 'react'; export default function Invited(){ const[select,setSelect]=useState("0"); const [invitados,setInvitados]=useState([]); - + const[id,setId]=useState(''); + const[adscripcion,setAdscripcion]=useState(''); + const[profesor,setProfesor]=useState(''); + const[name,setName]=useState(''); + //como obtener la informacion del profesor del login? function handleInvitado(){ @@ -32,33 +36,50 @@ export default function Invited(){
REGISTRO DE PROFESORES PARA LA OBTENCIÓN DE MEDALLAS
- - -

Nombre:

-

Número de trabajador:

-

Adscripción:

-

Cantidad de invitados:

- - -
-

Gabriela Gómez Hernández

-

2013050757

-

Estudiante

- -
-
+ + +

Nombre: {name}

+

Número de trabajador: {profesor}

+

Adscripción: {adscripcion}

+ +
+ +

Cantidad de invitados:

+ + +
+ {setSelect(e.target.value)}} defaultValue="0"> -
-
- - + +
+ +
+ {(() => { + //en un useeffect + useEffect(function() { + setId(window.localStorage.getItem('idProfesor')) + },[]); + /* + axios.get(baseUrl,{params:{idProfesor}}) + .then(response=>{ + name=response.data.nombre; + profesor=response.data.profesor; + adscripcion=response.data.adscripcion; + return response.data; + }) + .catch(error=>{ + console.log(error); + })*/ + })()} +
+
{(() => { console.log(select) diff --git a/package-lock.json b/package-lock.json index 49d4f44..ff167bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,10 +16,14 @@ "prop-types": "^15.8.1", "react": "18.0.0", "react-bootstrap": "^2.2.3", + "react-context": "^0.0.3", "react-dom": "18.0.0", "react-input-number": "^5.0.19", + "react-json-to-csv": "^1.0.4", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.3.0", + "react-use-localstorage": "^3.5.3", + "reactjs-localstorage": "^1.0.1", "reactstrap": "^9.0.2", "sweetalert": "^2.1.2" }, @@ -804,6 +808,14 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "engines": { + "node": ">=0.4.2" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -909,6 +921,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -981,8 +1001,15 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base62": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz", + "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==", + "engines": { + "node": "*" + } }, "node_modules/bootstrap": { "version": "5.1.3", @@ -1000,7 +1027,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1093,11 +1119,52 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dependencies": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "bin": { + "commonize": "bin/commonize" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commoner/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/convert-csv-to-json": { "version": "1.3.3", @@ -1198,6 +1265,11 @@ "node": ">= 0.4" } }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "node_modules/dequal": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", @@ -1206,6 +1278,26 @@ "node": ">=6" } }, + "node_modules/detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dependencies": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "node_modules/detective/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -1245,6 +1337,18 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/envify": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", + "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", + "dependencies": { + "jstransform": "^11.0.3", + "through": "~2.3.4" + }, + "bin": { + "envify": "bin/envify" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1709,6 +1813,30 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -2012,6 +2140,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2076,6 +2209,17 @@ "@babel/runtime": "^7.7.6" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -2113,7 +2257,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2122,8 +2265,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internal-slot": { "version": "1.0.3", @@ -2385,6 +2527,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "node_modules/json-to-csv-export": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/json-to-csv-export/-/json-to-csv-export-1.1.0.tgz", + "integrity": "sha512-vI1wEQ0kghuOqUeraf2kcO1rMMH+qwS8QNaa8pClTHlFj18JiStLT7zD7H1ybE1mqroUO0zM4ly0M21PBt047w==" + }, "node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -2397,6 +2544,43 @@ "json5": "lib/cli.js" } }, + "node_modules/jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "dependencies": { + "base62": "^1.1.0", + "commoner": "^0.10.1", + "esprima-fb": "^15001.1.0-dev-harmony-fb", + "object-assign": "^2.0.0", + "source-map": "^0.4.2" + }, + "bin": { + "jstransform": "bin/jstransform" + }, + "engines": { + "node": ">=0.8.8" + } + }, + "node_modules/jstransform/node_modules/object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jstransform/node_modules/source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz", @@ -2487,6 +2671,11 @@ "node": ">=12" } }, + "node_modules/merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2513,7 +2702,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2524,8 +2712,18 @@ "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } }, "node_modules/moment": { "version": "2.29.2", @@ -2716,7 +2914,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -2812,7 +3009,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2882,6 +3078,14 @@ "node": ">= 0.8.0" } }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/promise-polyfill": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", @@ -2918,6 +3122,15 @@ "node": ">=6" } }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -2976,6 +3189,26 @@ "react-dom": ">=16.14.0" } }, + "node_modules/react-context": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/react-context/-/react-context-0.0.3.tgz", + "integrity": "sha1-GtU09rahqBF+1i/KSoLljHEcNvM=", + "dependencies": { + "react": "^0.13.3", + "reactcss": "^0.3.2" + } + }, + "node_modules/react-context/node_modules/react": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/react/-/react-0.13.3.tgz", + "integrity": "sha1-ot+oUzXX3AK4K0gvCJWC5kzBM1Y=", + "dependencies": { + "envify": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-dom": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", @@ -3012,6 +3245,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/react-json-to-csv": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-json-to-csv/-/react-json-to-csv-1.0.4.tgz", + "integrity": "sha512-WiLLNrJ3ruyLxPN6HS5kX5EOv5I1Wj3rB2/gS3uzz3gKHTvqUMaTEVIt2lLpvLoHHWRsRy0p629qiTsTN8hemw==", + "dependencies": { + "json-to-csv-export": "^1.0.2" + } + }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", @@ -3070,6 +3311,33 @@ "react-dom": ">=16.6.0" } }, + "node_modules/react-use-localstorage": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/react-use-localstorage/-/react-use-localstorage-3.5.3.tgz", + "integrity": "sha512-1oNvJmo72G4v5P9ytJZZTb6ywD3UzWBiainTtfbNlb+U08hc+SOD5HqgiLTKUF0MxGcIR9JSnZGmBttNLXaQYA==", + "peerDependencies": { + "react": ">=16.8.1" + } + }, + "node_modules/reactcss": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-0.3.2.tgz", + "integrity": "sha1-rz1bjhTzV7g5aSJKlXRZLlCmwuY=", + "dependencies": { + "lodash": "^3.6.0", + "merge": "^1.2.0" + } + }, + "node_modules/reactcss/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "node_modules/reactjs-localstorage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reactjs-localstorage/-/reactjs-localstorage-1.0.1.tgz", + "integrity": "sha512-eNSwfiVyVDhfjw9h83PBvgqQcFxmyK6KGPrPlutuaaTlALRZVQLZ0MAN72iU9UT+bKtscwtdogHQ2ikZ7rjT+w==" + }, "node_modules/reactstrap": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-9.0.2.tgz", @@ -3100,6 +3368,20 @@ "react": "^16.8.0 || ^17" } }, + "node_modules/recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dependencies": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -3224,6 +3506,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "node_modules/scheduler": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", @@ -3442,6 +3729,11 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -3636,8 +3928,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/yaml": { "version": "1.10.2", @@ -4187,6 +4478,11 @@ "uri-js": "^4.2.2" } }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -4259,6 +4555,11 @@ "es-abstract": "^1.19.0" } }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" + }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -4327,8 +4628,12 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base62": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz", + "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==" }, "bootstrap": { "version": "5.1.3", @@ -4340,7 +4645,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4405,11 +4709,45 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "convert-csv-to-json": { "version": "1.3.3", @@ -4488,11 +4826,32 @@ "object-keys": "^1.0.12" } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "dequal": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + } + } + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -4526,6 +4885,15 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "envify": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", + "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", + "requires": { + "jstransform": "^11.0.3", + "through": "~2.3.4" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4899,6 +5267,16 @@ "eslint-visitor-keys": "^3.3.0" } }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=" + }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -5123,6 +5501,11 @@ "slash": "^3.0.0" } }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -5166,6 +5549,14 @@ "@babel/runtime": "^7.7.6" } }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -5191,7 +5582,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -5200,8 +5590,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "internal-slot": { "version": "1.0.3", @@ -5388,6 +5777,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-to-csv-export": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/json-to-csv-export/-/json-to-csv-export-1.1.0.tgz", + "integrity": "sha512-vI1wEQ0kghuOqUeraf2kcO1rMMH+qwS8QNaa8pClTHlFj18JiStLT7zD7H1ybE1mqroUO0zM4ly0M21PBt047w==" + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -5397,6 +5791,33 @@ "minimist": "^1.2.0" } }, + "jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "requires": { + "base62": "^1.1.0", + "commoner": "^0.10.1", + "esprima-fb": "^15001.1.0-dev-harmony-fb", + "object-assign": "^2.0.0", + "source-map": "^0.4.2" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "jsx-ast-utils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz", @@ -5472,6 +5893,11 @@ "integrity": "sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg==", "dev": true }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5492,7 +5918,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5500,8 +5925,15 @@ "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } }, "moment": { "version": "2.29.2", @@ -5624,7 +6056,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -5695,8 +6126,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", @@ -5741,6 +6171,11 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, "promise-polyfill": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", @@ -5771,6 +6206,11 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -5808,6 +6248,25 @@ "warning": "^4.0.3" } }, + "react-context": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/react-context/-/react-context-0.0.3.tgz", + "integrity": "sha1-GtU09rahqBF+1i/KSoLljHEcNvM=", + "requires": { + "react": "^0.13.3", + "reactcss": "^0.3.2" + }, + "dependencies": { + "react": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/react/-/react-0.13.3.tgz", + "integrity": "sha1-ot+oUzXX3AK4K0gvCJWC5kzBM1Y=", + "requires": { + "envify": "^3.0.0" + } + } + } + }, "react-dom": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", @@ -5837,6 +6296,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "react-json-to-csv": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-json-to-csv/-/react-json-to-csv-1.0.4.tgz", + "integrity": "sha512-WiLLNrJ3ruyLxPN6HS5kX5EOv5I1Wj3rB2/gS3uzz3gKHTvqUMaTEVIt2lLpvLoHHWRsRy0p629qiTsTN8hemw==", + "requires": { + "json-to-csv-export": "^1.0.2" + } + }, "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", @@ -5880,6 +6347,33 @@ "prop-types": "^15.6.2" } }, + "react-use-localstorage": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/react-use-localstorage/-/react-use-localstorage-3.5.3.tgz", + "integrity": "sha512-1oNvJmo72G4v5P9ytJZZTb6ywD3UzWBiainTtfbNlb+U08hc+SOD5HqgiLTKUF0MxGcIR9JSnZGmBttNLXaQYA==", + "requires": {} + }, + "reactcss": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-0.3.2.tgz", + "integrity": "sha1-rz1bjhTzV7g5aSJKlXRZLlCmwuY=", + "requires": { + "lodash": "^3.6.0", + "merge": "^1.2.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "reactjs-localstorage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reactjs-localstorage/-/reactjs-localstorage-1.0.1.tgz", + "integrity": "sha512-eNSwfiVyVDhfjw9h83PBvgqQcFxmyK6KGPrPlutuaaTlALRZVQLZ0MAN72iU9UT+bKtscwtdogHQ2ikZ7rjT+w==" + }, "reactstrap": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-9.0.2.tgz", @@ -5904,6 +6398,17 @@ } } }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } + }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -5977,6 +6482,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "scheduler": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", @@ -6128,6 +6638,11 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -6273,8 +6788,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yaml": { "version": "1.10.2", diff --git a/package.json b/package.json index 092540b..a8a6bac 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,14 @@ "prop-types": "^15.8.1", "react": "18.0.0", "react-bootstrap": "^2.2.3", + "react-context": "^0.0.3", "react-dom": "18.0.0", "react-input-number": "^5.0.19", + "react-json-to-csv": "^1.0.4", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.3.0", + "react-use-localstorage": "^3.5.3", + "reactjs-localstorage": "^1.0.1", "reactstrap": "^9.0.2", "sweetalert": "^2.1.2" }, diff --git a/pages/admin.js b/pages/admin.js index 71096b4..c5fdb8d 100644 --- a/pages/admin.js +++ b/pages/admin.js @@ -5,28 +5,30 @@ import 'bootstrap/dist/css/bootstrap.min.css'; import Head from 'next/head'; import { Container, Row, Col,Button} from "react-bootstrap"; import SubirArchivo from "../components/administrador/admin"; -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import axios from "axios"; +import CsvDownload from 'react-json-to-csv'; + export default function Admin(){ const [archive, setArchive] = useState('');//este se const [archive2, setArchive2] = useState('Subir base de datos de profesores'); - - const handleFile = () => { - /* - axios({ - url: 'url', // url - method: 'GET', - responseType: 'blob', - }).then((response) => { - const url = window.URL.createObjectURL(new Blob([response.data])); - const link = document.createElement('a'); - link.href = url; - link.setAttribute('download', 'file.csv'); //or any other extension - document.body.appendChild(link); - link.click(); - }); - */ + const [file, setFile] = useState({}); + + const handleFile = async () => { + + try{ + let response = await axios.get('https://random-data-api.com/api/cannabis/random_cannabis?size=30', {responseType: 'json'}); + console.log(response.data); + setFile(response.data); + console.log('holaaa'+response.data.type); + } catch ( error ) { + console.log( error.data ); + } + } + + useEffect( () => { handleFile() } , [] ); + const setArchiveOn = () => { if(archive==""){ setArchive(); @@ -53,9 +55,9 @@ export default function Admin(){ {archive2} {archive} - + + Descargar la base de datos de invitados +
diff --git a/pages/index.js b/pages/index.js index 100a4ed..0075d83 100644 --- a/pages/index.js +++ b/pages/index.js @@ -2,6 +2,8 @@ import Layout from '../components/layouts/layout'; import 'bootstrap/dist/css/bootstrap.min.css'; import Head from 'next/head'; import App from '../components/login/login'; +import {useEffect} from 'react' + export default function Register(){ return( -- 2.43.0