From 9fb5c15062deaf99cee64fa6ba5392423108ddb2 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 18 Sep 2021 12:57:05 -0500 Subject: [PATCH 01/16] Delete Prueba.py --- Prueba.py | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Prueba.py diff --git a/Prueba.py b/Prueba.py deleted file mode 100644 index 57ea3c7..0000000 --- a/Prueba.py +++ /dev/null @@ -1 +0,0 @@ -"Esto es una rchivo de prueba" From f5d19c313771845205bf3fa0c73fe90cfd617246 Mon Sep 17 00:00:00 2001 From: JimmyGonzalezG Date: Sat, 18 Sep 2021 17:22:00 -0500 Subject: [PATCH 02/16] prueba --- Ejericio.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 Ejericio.py diff --git a/Ejericio.py b/Ejericio.py new file mode 100644 index 0000000..ea4136e --- /dev/null +++ b/Ejericio.py @@ -0,0 +1 @@ +println("Esto es un aprueba") From 11e05a9edc6b2db5bdcbf95b42d447017917d1ed Mon Sep 17 00:00:00 2001 From: katayala26 <90992497+katayala26@users.noreply.github.com> Date: Sat, 18 Sep 2021 21:19:20 -0500 Subject: [PATCH 03/16] =?UTF-8?q?Funci=C3=B3n=20integral=20en=20Matlab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- integral.m | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 integral.m diff --git a/integral.m b/integral.m new file mode 100644 index 0000000..9eb6927 --- /dev/null +++ b/integral.m @@ -0,0 +1,8 @@ +clear; +clc; +syms x +f=input('ingrse la funcion: '); +F=inline(char(f)); +a=input('desde: '); +b=input('hasta: '); +F=int(f,a,b) \ No newline at end of file From 3690ff3c0c94a558ce80bec50d2f22e974a9f3c9 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 18 Sep 2021 21:19:31 -0500 Subject: [PATCH 04/16] Create text --- pull.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 pull.js diff --git a/pull.js b/pull.js new file mode 100644 index 0000000..2ab9490 --- /dev/null +++ b/pull.js @@ -0,0 +1 @@ +//prueba de pull From f963d9d60c617f0ee8a8bc9b293646968b691ec9 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Mon, 20 Sep 2021 15:52:29 -0500 Subject: [PATCH 05/16] Create gest_vend.html MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inicio creación Gestion de vendedores Sprint 2 --- gest_vend.html | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 gest_vend.html diff --git a/gest_vend.html b/gest_vend.html new file mode 100644 index 0000000..d8df795 --- /dev/null +++ b/gest_vend.html @@ -0,0 +1,27 @@ +//Gestión de vendedores + + + + Título de la WEB + + + + + + +
+

Gestión de vendedores

+
+
+
+ +
+
+
+
+ + +
+
+ + From b0aa4fffd02e95e055625faccf9eebec0e49b908 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Mon, 20 Sep 2021 15:53:24 -0500 Subject: [PATCH 06/16] Delete Ejericio.py Se borra prueba --- Ejericio.py | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Ejericio.py diff --git a/Ejericio.py b/Ejericio.py deleted file mode 100644 index ea4136e..0000000 --- a/Ejericio.py +++ /dev/null @@ -1 +0,0 @@ -println("Esto es un aprueba") From a163fb42e83b154b2b205e375131bdd60868e453 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Mon, 20 Sep 2021 15:57:22 -0500 Subject: [PATCH 07/16] Update gest_vend.html --- gest_vend.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gest_vend.html b/gest_vend.html index d8df795..6490324 100644 --- a/gest_vend.html +++ b/gest_vend.html @@ -19,7 +19,14 @@

Gestión de vendedores




- +
+
+
+ + + + +
From 199a9337ce5fc3beb1d97af5794c1f2dbe07e394 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Mon, 20 Sep 2021 19:43:21 -0500 Subject: [PATCH 08/16] Update gest_vend.html --- gest_vend.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gest_vend.html b/gest_vend.html index 6490324..e2b7fb9 100644 --- a/gest_vend.html +++ b/gest_vend.html @@ -22,7 +22,7 @@

Gestión de vendedores




- + From 7c95e7953917ee4013fce036dc0b5589a97454a1 Mon Sep 17 00:00:00 2001 From: JimmyGonzalezG Date: Tue, 21 Sep 2021 21:52:16 -0500 Subject: [PATCH 09/16] add parraf in html --- gest_vend.html | 76 +++++++++++++++++++++++++++++--------------------- pull.js | 1 - styles.css | 56 +++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 33 deletions(-) delete mode 100644 pull.js create mode 100644 styles.css diff --git a/gest_vend.html b/gest_vend.html index e2b7fb9..7d489f7 100644 --- a/gest_vend.html +++ b/gest_vend.html @@ -1,34 +1,46 @@ -//Gestión de vendedores + - - - Título de la WEB - - - - - - -
-

Gestión de vendedores

-
+ + + + Aplication WEB + + + + + + + +
+

Gestión de vendedores

+
+ +
-
- -
-
-
-
-
-
-
- - - - -
- -
-
- - +
+ +
+
+
+
+
+
+ +
+ + + +
+ +
+

Esta aplicación es un desarrollo en conjunto para MinTic UdeA

+
+ + + \ No newline at end of file diff --git a/pull.js b/pull.js deleted file mode 100644 index 2ab9490..0000000 --- a/pull.js +++ /dev/null @@ -1 +0,0 @@ -//prueba de pull diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..afc7bb7 --- /dev/null +++ b/styles.css @@ -0,0 +1,56 @@ +h1{ + text-align: center; + color: blue; +} + +form{ + + top:50%; + left: 50%; + width: 320px; + padding: 16px; + border-radius: 10px; + margin: auto; + background-color:lavender; + flex-direction: column; + justify-content: center; + align-items: center; + box-shadow: 4px -2px 5px black ; +} + +form label{ + width:100%; + display: block; +} + +form input, form select{ + width: 180px; + padding: 3px 10px; + border: 1px solid #f6f6f6; + border-radius: 3px; + background-color: #f6f6f6; + margin: 8px auto; + display: block; + } + +button[type="submit"]{ + display: inline-block; + border-radius: 5px; + margin: 2px 3em 0 2em; +} +button[type="reset"]{ + display: inline-block; + border-radius: 5px; + margin: 2px 3em 0 0.5em; +} +button:hover{ + background-color: dimgrey; + color: white; + +} + +.piep{ + font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; + font-size: 1rem; + text-align: center; +} \ No newline at end of file From a445af1aeb29aca5ad5e944264cb09858a9719b8 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:05:44 -0500 Subject: [PATCH 10/16] delete prueba --- gest_vend.html | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 gest_vend.html diff --git a/gest_vend.html b/gest_vend.html deleted file mode 100644 index 7d489f7..0000000 --- a/gest_vend.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Aplication WEB - - - - - - - -
-

Gestión de vendedores

-
- - -
-
- -
-
-
-
-
-
- -
- - - -
- -
-

Esta aplicación es un desarrollo en conjunto para MinTic UdeA

-
- - - \ No newline at end of file From a544e950a0f10ffe58174cae0bee8a3fabd8dca3 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:06:02 -0500 Subject: [PATCH 11/16] delte prueba --- styles.css | 56 ------------------------------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 styles.css diff --git a/styles.css b/styles.css deleted file mode 100644 index afc7bb7..0000000 --- a/styles.css +++ /dev/null @@ -1,56 +0,0 @@ -h1{ - text-align: center; - color: blue; -} - -form{ - - top:50%; - left: 50%; - width: 320px; - padding: 16px; - border-radius: 10px; - margin: auto; - background-color:lavender; - flex-direction: column; - justify-content: center; - align-items: center; - box-shadow: 4px -2px 5px black ; -} - -form label{ - width:100%; - display: block; -} - -form input, form select{ - width: 180px; - padding: 3px 10px; - border: 1px solid #f6f6f6; - border-radius: 3px; - background-color: #f6f6f6; - margin: 8px auto; - display: block; - } - -button[type="submit"]{ - display: inline-block; - border-radius: 5px; - margin: 2px 3em 0 2em; -} -button[type="reset"]{ - display: inline-block; - border-radius: 5px; - margin: 2px 3em 0 0.5em; -} -button:hover{ - background-color: dimgrey; - color: white; - -} - -.piep{ - font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; - font-size: 1rem; - text-align: center; -} \ No newline at end of file From de9cca60d695b596daa6aa9b1b25bc8cf9278eb9 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:09:47 -0500 Subject: [PATCH 12/16] Add file Sprin2 --- Spring3/public/favicon.ico | Bin 0 -> 1150 bytes Spring3/public/index.html | 16 ++++++ Spring3/src/App.css | 10 ++++ Spring3/src/App.js | 35 ++++++++++++ Spring3/src/Components/Login/Login.js | 12 ++++ Spring3/src/Components/Login/Logout.js | 9 +++ Spring3/src/Components/Login/Profile.js | 22 ++++++++ .../Components/Productos/RegistroProductos.js | 53 ++++++++++++++++++ Spring3/src/Components/Register/Users.js | 16 ++++++ Spring3/src/index.css | 13 +++++ Spring3/src/index.js | 19 +++++++ 11 files changed, 205 insertions(+) create mode 100644 Spring3/public/favicon.ico create mode 100644 Spring3/public/index.html create mode 100644 Spring3/src/App.css create mode 100644 Spring3/src/App.js create mode 100644 Spring3/src/Components/Login/Login.js create mode 100644 Spring3/src/Components/Login/Logout.js create mode 100644 Spring3/src/Components/Login/Profile.js create mode 100644 Spring3/src/Components/Productos/RegistroProductos.js create mode 100644 Spring3/src/Components/Register/Users.js create mode 100644 Spring3/src/index.css create mode 100644 Spring3/src/index.js diff --git a/Spring3/public/favicon.ico b/Spring3/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c0bcf8ca68bee0096072852ea807473dae516f85 GIT binary patch literal 1150 zcmeHHyGjF55WRvQkjmQ9AMh*e{Q*J5LMvNA1TB4F5jCw5$;(0`m_$S{NWg$fd>|w- zCT58n-Mrmov&TF4?nX)Q)jP}GVeZU1b7okUu|EDd9E`sQ*+f5M1B|gDe)tu?k@ws& z#&g|pn09czL`_>d4W=@2|3k{WHSrfJv>1dz#OWNq6J{&L?5_tY@R>$S4QLo-ROtyT;1 z_&HWrmT?f=@5z^x6!sQIu{%40@X9zI;-L;Uol3#)^I>yi9j?s{Jleg9+v0E5D>!k@ zAhI@z!=*8tZOx&OzDA+&jH5^d+io|!UJtw;4`>E5sZHvm{l#_`aps=K{iz>n>I!A` z30kQHC7(wkkw7>c;@X2KmwV@<9bWL+mAe>fuL_Ljo9IC=+IO{5K{lI3G#W)NmlZjC zHxv-An7QFNUF5hr?xi;CLhz`niexg`*$w6NdbP82yY@S;>pB{ZhE?+UyX)=w6%T2r K)BQjAYy1v^E7ZsU literal 0 HcmV?d00001 diff --git a/Spring3/public/index.html b/Spring3/public/index.html new file mode 100644 index 0000000..cc2aa75 --- /dev/null +++ b/Spring3/public/index.html @@ -0,0 +1,16 @@ + + + + + + + + + WebTicKers + + + +
+ + + diff --git a/Spring3/src/App.css b/Spring3/src/App.css new file mode 100644 index 0000000..88176b6 --- /dev/null +++ b/Spring3/src/App.css @@ -0,0 +1,10 @@ +html{ + background-color: darkgrey; + } + + +h1{ + text-align: center; + color: grey; + +} \ No newline at end of file diff --git a/Spring3/src/App.js b/Spring3/src/App.js new file mode 100644 index 0000000..d47557d --- /dev/null +++ b/Spring3/src/App.js @@ -0,0 +1,35 @@ +import React, { Component, Fragment } from 'react'; +import { useAuth0 } from "@auth0/auth0-react"; +import './App.css'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import { LoginButton } from './Components/Login/Login'; +import { LogoutButton } from './Components/Login/Logout'; +import { Profile } from './Components/Login/Profile'; +import Productos from './Components/Productos/RegistroProductos' + + +class App extends Component { + constructor() { + super(); + this.state = { + name: 'React' + }; + } + render() { + + return ( + +
+

Aplicación Registro de Ventas

+
+ + + + + +
+
+ ); + } +} +export default App; diff --git a/Spring3/src/Components/Login/Login.js b/Spring3/src/Components/Login/Login.js new file mode 100644 index 0000000..ce6bcf1 --- /dev/null +++ b/Spring3/src/Components/Login/Login.js @@ -0,0 +1,12 @@ +import React, { Fragment } from "react"; +import { Auth0Provider, useAuth0 } from "@auth0/auth0-react"; + +export const LoginButton = () =>{ + const { loginWithRedirect } = useAuth0(); + return ( + +

Autenticación de Usuarios

+ ; +
+ ) +}; \ No newline at end of file diff --git a/Spring3/src/Components/Login/Logout.js b/Spring3/src/Components/Login/Logout.js new file mode 100644 index 0000000..1cc242d --- /dev/null +++ b/Spring3/src/Components/Login/Logout.js @@ -0,0 +1,9 @@ +import React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; + +export const LogoutButton = () =>{ + const {logout}=useAuth0(); + return ( + + ); +} \ No newline at end of file diff --git a/Spring3/src/Components/Login/Profile.js b/Spring3/src/Components/Login/Profile.js new file mode 100644 index 0000000..5ab0f36 --- /dev/null +++ b/Spring3/src/Components/Login/Profile.js @@ -0,0 +1,22 @@ +import React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; + +export const Profile = () => { + const {user,isAuthenticated,isLoading} = useAuth0(); + if(isLoading){ + return
Cargaando...
; + } + else + return( + isAuthenticated && ( +
+ {user.name}/ +

{user.name}

+

Email:{user.email}

+

{user.profile}

+ +
+ ) + ); + +} \ No newline at end of file diff --git a/Spring3/src/Components/Productos/RegistroProductos.js b/Spring3/src/Components/Productos/RegistroProductos.js new file mode 100644 index 0000000..99af8dc --- /dev/null +++ b/Spring3/src/Components/Productos/RegistroProductos.js @@ -0,0 +1,53 @@ +import React, { Component, Fragment } from "react"; +import 'bootstrap/dist/css/bootstrap.min.css'; +import { Table, Button, Container, Modal, ModalBody, ModalFooter, ModalHeader, FormGroup } from 'reactstrap' + +const data = [ + { Id: '', Descripción: "", Valor_Unitario: "", Estado: "" }, +]; + +class Productos extends Component { + state = { + data: data + } + render() { + return ( + +

Módulo administrador de productos

+ + +
+ + + + + + + + + + + + {this.state.data.map((elemento) => ( + + + + + + + + + ))} + +
IdDescripciónValor_UnitarioEstadoAcciones
{elemento.Id}{elemento.Descripción}{elemento.Valor_Unitario} +
+
+
+ ); + } + +} +export default Productos \ No newline at end of file diff --git a/Spring3/src/Components/Register/Users.js b/Spring3/src/Components/Register/Users.js new file mode 100644 index 0000000..fc05126 --- /dev/null +++ b/Spring3/src/Components/Register/Users.js @@ -0,0 +1,16 @@ +import React from "react"; + + +class Users extends React.Component{ + + render(){ +
+

Gestión de Usuarios

+
+ +
+ +
+ + } +} \ No newline at end of file diff --git a/Spring3/src/index.css b/Spring3/src/index.css new file mode 100644 index 0000000..ec2585e --- /dev/null +++ b/Spring3/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/Spring3/src/index.js b/Spring3/src/index.js new file mode 100644 index 0000000..b3067d6 --- /dev/null +++ b/Spring3/src/index.js @@ -0,0 +1,19 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import { Auth0Provider } from '@auth0/auth0-react'; + + +ReactDOM.render( + + + + + , + document.getElementById('root'), + +); \ No newline at end of file From 7bbc327c1c7526077dfe8310ea9e489e085e1731 Mon Sep 17 00:00:00 2001 From: katayala26 <90992497+katayala26@users.noreply.github.com> Date: Sun, 3 Oct 2021 23:55:16 -0500 Subject: [PATCH 13/16] Add files via upload Interfaces asociadas a ventas --- Spring3/public/ingresar_ventas.html | 62 ++++++++++ Spring3/public/visualizacion_ventas.html | 142 +++++++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 Spring3/public/ingresar_ventas.html create mode 100644 Spring3/public/visualizacion_ventas.html diff --git a/Spring3/public/ingresar_ventas.html b/Spring3/public/ingresar_ventas.html new file mode 100644 index 0000000..1952290 --- /dev/null +++ b/Spring3/public/ingresar_ventas.html @@ -0,0 +1,62 @@ + + + + + + + Interfaz Ventas + + + + + + + +

+
+
+ + + + + + + + +
+
+ + + +
+

Numero de Identificacion:

+

Nombre del cliente:

+ +
+ +
+ + + + + + + diff --git a/Spring3/public/visualizacion_ventas.html b/Spring3/public/visualizacion_ventas.html new file mode 100644 index 0000000..c63cd6f --- /dev/null +++ b/Spring3/public/visualizacion_ventas.html @@ -0,0 +1,142 @@ + + + + + + + Visualizacion Ventas + + + + + + +

Listado de Ventas

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Identificador de la ventaFecha de la ventaCódigoDescripciónCantidadPrecio UnitarioValor totalIdentificaciónNombreVendedorEstadoEditar
12303456789012
12303456789012
12303456789012
12303456789012
12303456789012
12303456789012
+ + + From 2ecd069afcab8e0fefa3a85a2c77b6bb1becd285 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Wed, 13 Oct 2021 18:48:38 -0500 Subject: [PATCH 14/16] Interface Productos Login --- Spring3.zip | Bin 0 -> 6915 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Spring3.zip diff --git a/Spring3.zip b/Spring3.zip new file mode 100644 index 0000000000000000000000000000000000000000..b096a45d46b23ae11f3b60d7936f1e14c523a559 GIT binary patch literal 6915 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 EFE>$vqyPW_ literal 0 HcmV?d00001 From 812d52e415302a2fae8e0f8bca3e3b42a3de8153 Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Wed, 13 Oct 2021 18:49:41 -0500 Subject: [PATCH 15/16] Delete Spring3 directory --- Spring3/public/favicon.ico | Bin 1150 -> 0 bytes Spring3/public/index.html | 16 -- Spring3/public/ingresar_ventas.html | 62 -------- Spring3/public/visualizacion_ventas.html | 142 ------------------ Spring3/src/App.css | 10 -- Spring3/src/App.js | 35 ----- Spring3/src/Components/Login/Login.js | 12 -- Spring3/src/Components/Login/Logout.js | 9 -- Spring3/src/Components/Login/Profile.js | 22 --- .../Components/Productos/RegistroProductos.js | 53 ------- Spring3/src/Components/Register/Users.js | 16 -- Spring3/src/index.css | 13 -- Spring3/src/index.js | 19 --- 13 files changed, 409 deletions(-) delete mode 100644 Spring3/public/favicon.ico delete mode 100644 Spring3/public/index.html delete mode 100644 Spring3/public/ingresar_ventas.html delete mode 100644 Spring3/public/visualizacion_ventas.html delete mode 100644 Spring3/src/App.css delete mode 100644 Spring3/src/App.js delete mode 100644 Spring3/src/Components/Login/Login.js delete mode 100644 Spring3/src/Components/Login/Logout.js delete mode 100644 Spring3/src/Components/Login/Profile.js delete mode 100644 Spring3/src/Components/Productos/RegistroProductos.js delete mode 100644 Spring3/src/Components/Register/Users.js delete mode 100644 Spring3/src/index.css delete mode 100644 Spring3/src/index.js diff --git a/Spring3/public/favicon.ico b/Spring3/public/favicon.ico deleted file mode 100644 index c0bcf8ca68bee0096072852ea807473dae516f85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmeHHyGjF55WRvQkjmQ9AMh*e{Q*J5LMvNA1TB4F5jCw5$;(0`m_$S{NWg$fd>|w- zCT58n-Mrmov&TF4?nX)Q)jP}GVeZU1b7okUu|EDd9E`sQ*+f5M1B|gDe)tu?k@ws& z#&g|pn09czL`_>d4W=@2|3k{WHSrfJv>1dz#OWNq6J{&L?5_tY@R>$S4QLo-ROtyT;1 z_&HWrmT?f=@5z^x6!sQIu{%40@X9zI;-L;Uol3#)^I>yi9j?s{Jleg9+v0E5D>!k@ zAhI@z!=*8tZOx&OzDA+&jH5^d+io|!UJtw;4`>E5sZHvm{l#_`aps=K{iz>n>I!A` z30kQHC7(wkkw7>c;@X2KmwV@<9bWL+mAe>fuL_Ljo9IC=+IO{5K{lI3G#W)NmlZjC zHxv-An7QFNUF5hr?xi;CLhz`niexg`*$w6NdbP82yY@S;>pB{ZhE?+UyX)=w6%T2r K)BQjAYy1v^E7ZsU diff --git a/Spring3/public/index.html b/Spring3/public/index.html deleted file mode 100644 index cc2aa75..0000000 --- a/Spring3/public/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - WebTicKers - - - -
- - - diff --git a/Spring3/public/ingresar_ventas.html b/Spring3/public/ingresar_ventas.html deleted file mode 100644 index 1952290..0000000 --- a/Spring3/public/ingresar_ventas.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - Interfaz Ventas - - - - - - - -

-
-
- - - - - - - - -
-
- - - -
-

Numero de Identificacion:

-

Nombre del cliente:

- -
- -
- - - - - - - diff --git a/Spring3/public/visualizacion_ventas.html b/Spring3/public/visualizacion_ventas.html deleted file mode 100644 index c63cd6f..0000000 --- a/Spring3/public/visualizacion_ventas.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - Visualizacion Ventas - - - - - - -

Listado de Ventas

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Identificador de la ventaFecha de la ventaCódigoDescripciónCantidadPrecio UnitarioValor totalIdentificaciónNombreVendedorEstadoEditar
12303456789012
12303456789012
12303456789012
12303456789012
12303456789012
12303456789012
- - - diff --git a/Spring3/src/App.css b/Spring3/src/App.css deleted file mode 100644 index 88176b6..0000000 --- a/Spring3/src/App.css +++ /dev/null @@ -1,10 +0,0 @@ -html{ - background-color: darkgrey; - } - - -h1{ - text-align: center; - color: grey; - -} \ No newline at end of file diff --git a/Spring3/src/App.js b/Spring3/src/App.js deleted file mode 100644 index d47557d..0000000 --- a/Spring3/src/App.js +++ /dev/null @@ -1,35 +0,0 @@ -import React, { Component, Fragment } from 'react'; -import { useAuth0 } from "@auth0/auth0-react"; -import './App.css'; -import 'bootstrap/dist/css/bootstrap.min.css'; -import { LoginButton } from './Components/Login/Login'; -import { LogoutButton } from './Components/Login/Logout'; -import { Profile } from './Components/Login/Profile'; -import Productos from './Components/Productos/RegistroProductos' - - -class App extends Component { - constructor() { - super(); - this.state = { - name: 'React' - }; - } - render() { - - return ( - -
-

Aplicación Registro de Ventas

-
- - - - - -
-
- ); - } -} -export default App; diff --git a/Spring3/src/Components/Login/Login.js b/Spring3/src/Components/Login/Login.js deleted file mode 100644 index ce6bcf1..0000000 --- a/Spring3/src/Components/Login/Login.js +++ /dev/null @@ -1,12 +0,0 @@ -import React, { Fragment } from "react"; -import { Auth0Provider, useAuth0 } from "@auth0/auth0-react"; - -export const LoginButton = () =>{ - const { loginWithRedirect } = useAuth0(); - return ( - -

Autenticación de Usuarios

- ; -
- ) -}; \ No newline at end of file diff --git a/Spring3/src/Components/Login/Logout.js b/Spring3/src/Components/Login/Logout.js deleted file mode 100644 index 1cc242d..0000000 --- a/Spring3/src/Components/Login/Logout.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from "react"; -import { useAuth0 } from "@auth0/auth0-react"; - -export const LogoutButton = () =>{ - const {logout}=useAuth0(); - return ( - - ); -} \ No newline at end of file diff --git a/Spring3/src/Components/Login/Profile.js b/Spring3/src/Components/Login/Profile.js deleted file mode 100644 index 5ab0f36..0000000 --- a/Spring3/src/Components/Login/Profile.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; -import { useAuth0 } from "@auth0/auth0-react"; - -export const Profile = () => { - const {user,isAuthenticated,isLoading} = useAuth0(); - if(isLoading){ - return
Cargaando...
; - } - else - return( - isAuthenticated && ( -
- {user.name}/ -

{user.name}

-

Email:{user.email}

-

{user.profile}

- -
- ) - ); - -} \ No newline at end of file diff --git a/Spring3/src/Components/Productos/RegistroProductos.js b/Spring3/src/Components/Productos/RegistroProductos.js deleted file mode 100644 index 99af8dc..0000000 --- a/Spring3/src/Components/Productos/RegistroProductos.js +++ /dev/null @@ -1,53 +0,0 @@ -import React, { Component, Fragment } from "react"; -import 'bootstrap/dist/css/bootstrap.min.css'; -import { Table, Button, Container, Modal, ModalBody, ModalFooter, ModalHeader, FormGroup } from 'reactstrap' - -const data = [ - { Id: '', Descripción: "", Valor_Unitario: "", Estado: "" }, -]; - -class Productos extends Component { - state = { - data: data - } - render() { - return ( - -

Módulo administrador de productos

- - -
- - - - - - - - - - - - {this.state.data.map((elemento) => ( - - - - - - - - - ))} - -
IdDescripciónValor_UnitarioEstadoAcciones
{elemento.Id}{elemento.Descripción}{elemento.Valor_Unitario} -
-
-
- ); - } - -} -export default Productos \ No newline at end of file diff --git a/Spring3/src/Components/Register/Users.js b/Spring3/src/Components/Register/Users.js deleted file mode 100644 index fc05126..0000000 --- a/Spring3/src/Components/Register/Users.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react"; - - -class Users extends React.Component{ - - render(){ -
-

Gestión de Usuarios

-
- -
- -
- - } -} \ No newline at end of file diff --git a/Spring3/src/index.css b/Spring3/src/index.css deleted file mode 100644 index ec2585e..0000000 --- a/Spring3/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/Spring3/src/index.js b/Spring3/src/index.js deleted file mode 100644 index b3067d6..0000000 --- a/Spring3/src/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; -import { Auth0Provider } from '@auth0/auth0-react'; - - -ReactDOM.render( - - - - - , - document.getElementById('root'), - -); \ No newline at end of file From fbb9931deeb784341b5d599559cc1aeb66558f3c Mon Sep 17 00:00:00 2001 From: Jimmy Gonzalez Gutierrez <87946030+JimmyGonzalezG@users.noreply.github.com> Date: Sat, 16 Oct 2021 21:39:14 -0500 Subject: [PATCH 16/16] Upload de files --- Aplicacion/public/favicon.ico | Bin 0 -> 1150 bytes Aplicacion/public/images/background.jpg | Bin 0 -> 37000 bytes Aplicacion/public/images/ventas.jpg | Bin 0 -> 28128 bytes Aplicacion/public/images/webtic.png | Bin 0 -> 7344 bytes Aplicacion/public/index.html | 17 ++ Aplicacion/src/App.css | 124 +++++++++ Aplicacion/src/App.js | 36 +++ Aplicacion/src/Components/Login/Login.js | 22 ++ Aplicacion/src/Components/Login/Logout.js | 9 + .../src/Components/Login/Privateroute.js | 11 + Aplicacion/src/Components/Login/Profile.js | 30 +++ Aplicacion/src/Components/Navbar.js | 35 +++ .../Productos/RegistroProductos.css | 26 ++ .../Components/Productos/RegistroProductos.js | 253 ++++++++++++++++++ Aplicacion/src/Components/Register/Users.js | 16 ++ Aplicacion/src/Components/Rutas/Rutas.js | 31 +++ Aplicacion/src/index.css | 16 ++ Aplicacion/src/index.js | 20 ++ 18 files changed, 646 insertions(+) create mode 100644 Aplicacion/public/favicon.ico create mode 100644 Aplicacion/public/images/background.jpg create mode 100644 Aplicacion/public/images/ventas.jpg create mode 100644 Aplicacion/public/images/webtic.png create mode 100644 Aplicacion/public/index.html create mode 100644 Aplicacion/src/App.css create mode 100644 Aplicacion/src/App.js create mode 100644 Aplicacion/src/Components/Login/Login.js create mode 100644 Aplicacion/src/Components/Login/Logout.js create mode 100644 Aplicacion/src/Components/Login/Privateroute.js create mode 100644 Aplicacion/src/Components/Login/Profile.js create mode 100644 Aplicacion/src/Components/Navbar.js create mode 100644 Aplicacion/src/Components/Productos/RegistroProductos.css create mode 100644 Aplicacion/src/Components/Productos/RegistroProductos.js create mode 100644 Aplicacion/src/Components/Register/Users.js create mode 100644 Aplicacion/src/Components/Rutas/Rutas.js create mode 100644 Aplicacion/src/index.css create mode 100644 Aplicacion/src/index.js diff --git a/Aplicacion/public/favicon.ico b/Aplicacion/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c0bcf8ca68bee0096072852ea807473dae516f85 GIT binary patch literal 1150 zcmeHHyGjF55WRvQkjmQ9AMh*e{Q*J5LMvNA1TB4F5jCw5$;(0`m_$S{NWg$fd>|w- zCT58n-Mrmov&TF4?nX)Q)jP}GVeZU1b7okUu|EDd9E`sQ*+f5M1B|gDe)tu?k@ws& z#&g|pn09czL`_>d4W=@2|3k{WHSrfJv>1dz#OWNq6J{&L?5_tY@R>$S4QLo-ROtyT;1 z_&HWrmT?f=@5z^x6!sQIu{%40@X9zI;-L;Uol3#)^I>yi9j?s{Jleg9+v0E5D>!k@ zAhI@z!=*8tZOx&OzDA+&jH5^d+io|!UJtw;4`>E5sZHvm{l#_`aps=K{iz>n>I!A` z30kQHC7(wkkw7>c;@X2KmwV@<9bWL+mAe>fuL_Ljo9IC=+IO{5K{lI3G#W)NmlZjC zHxv-An7QFNUF5hr?xi;CLhz`niexg`*$w6NdbP82yY@S;>pB{ZhE?+UyX)=w6%T2r K)BQjAYy1v^E7ZsU literal 0 HcmV?d00001 diff --git a/Aplicacion/public/images/background.jpg b/Aplicacion/public/images/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ead7905594d0b7cc75e3b08ca32f644961a675 GIT binary patch literal 37000 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 V|Mpzte=h?5dqMEO9&3K@`VV+U`o91G literal 0 HcmV?d00001 diff --git a/Aplicacion/public/images/webtic.png b/Aplicacion/public/images/webtic.png new file mode 100644 index 0000000000000000000000000000000000000000..75b3f1dc14c05d081e6c27f824545d73483cb552 GIT binary patch literal 7344 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 literal 0 HcmV?d00001 diff --git a/Aplicacion/public/index.html b/Aplicacion/public/index.html new file mode 100644 index 0000000..15ef0c3 --- /dev/null +++ b/Aplicacion/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + + WebTicKers + + + + +
+ + + diff --git a/Aplicacion/src/App.css b/Aplicacion/src/App.css new file mode 100644 index 0000000..c62aea5 --- /dev/null +++ b/Aplicacion/src/App.css @@ -0,0 +1,124 @@ + +.App { + margin: 0; + padding: 0; + background-color: rgba(224, 224, 224, 0.755); + position: absolute; + height: 100%; + width: 100%; + +} + +h1{ + text-align: center; + color: grey; + padding: 0%; + +} +h2{ + text-align: center; + color: rgb(37, 37, 37); + margin: 100px auto; +} + +.login{ + margin: 90px auto 0 auto; + width: 300px; + height: 400px; + background-color: rgb(145, 145, 145); + padding: 0; + border-radius: 10px; + +} + +.login .Login{ + + size: auto; + border-radius: 5px; + background-color: rgb(54, 41, 150); + color: aliceblue; + box-shadow: 2px; + margin: 50px auto auto 120px; + +} + +.div-log{ + margin: 90px auto 0 auto; + width: 300px; + height: 400px; + background-color: rgb(123, 121, 121); + padding: 0; + border-radius: 10px; +} + + +.logout{ + border-radius: 5px; + background-color: rgb(106, 32, 32); + color: aliceblue; + box-shadow: 2px; +} + + + +.logo{ + align-items: center; + border-radius: 20px; + margin: 20px auto 0 75px; + +} + +img{ + box-shadow: 100px; +} + +.NavbarItems{ + background: linear-gradient(90deg, rgb(110,94,254) 50%, rgba(73,63,252,70%) 100%); + height: 80px; + display: flex; + justify-content: center; + align-items: center; + font-size: 1.2rem; +} +.nav-menu{ + display: grid; + grid-template-columns: repeat(5, auto); + grid-gap: 10px; + list-style: none; + text-align: center; + width: 70vw; + justify-content: end; + margin-right: 2rem ; +} + +.nav-links{ + color:white; + text-decoration: none; + padding: 0.5 rem 1 rem; + } +.nav-links:hover{ + background-color: #6d76f7; + border-radius: 4px; + transition: all 0.2s ease-out; +} + +.fa-bars{ + color:#fff; + } +.nav-links-mobile{ + display: none; +} +.menu-icon{ + display: none; +} + +.cName{ + font-size: 1.1rem; + border: solid; + border-color: white; + background-color:whitesmoke; + color:darkblue; + text-align: center; + +} + diff --git a/Aplicacion/src/App.js b/Aplicacion/src/App.js new file mode 100644 index 0000000..937cf86 --- /dev/null +++ b/Aplicacion/src/App.js @@ -0,0 +1,36 @@ +import React, { Component } from 'react'; +import './App.css'; +import './Components/Productos/RegistroProductos.css'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Rutas from './Components/Rutas/Rutas'; +import { BrowserRouter as Router } from 'react-router-dom' + + + + + +class App extends Component { + constructor() { + super(); + this.state = { + name: 'React' + }; + } + + +render() { + + return ( + + +
+ +

Aplicación Registro de Ventas

+ + +
+
+ ); +} +} +export default App; diff --git a/Aplicacion/src/Components/Login/Login.js b/Aplicacion/src/Components/Login/Login.js new file mode 100644 index 0000000..fc463d4 --- /dev/null +++ b/Aplicacion/src/Components/Login/Login.js @@ -0,0 +1,22 @@ +import React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; +import 'bootstrap/dist/css/bootstrap.min.css'; + + +export const LoginButton = () => { + const { loginWithRedirect } = useAuth0(); + + return ( +
+

Autenticación de Usuarios

+
+ + + Webtickrs +
+ + + +
+ ) +}; \ No newline at end of file diff --git a/Aplicacion/src/Components/Login/Logout.js b/Aplicacion/src/Components/Login/Logout.js new file mode 100644 index 0000000..b44f20a --- /dev/null +++ b/Aplicacion/src/Components/Login/Logout.js @@ -0,0 +1,9 @@ +import React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; + +export const LogoutButton = () =>{ + const {logout}=useAuth0(); + return ( + + ); +} \ No newline at end of file diff --git a/Aplicacion/src/Components/Login/Privateroute.js b/Aplicacion/src/Components/Login/Privateroute.js new file mode 100644 index 0000000..5bd1a82 --- /dev/null +++ b/Aplicacion/src/Components/Login/Privateroute.js @@ -0,0 +1,11 @@ +import React from 'react' +import { Route, Redirect } from 'react-router-dom' + +//const user =null; +const user ={id:1, usuario: "j76gonzalez@gmail.com"}; + +export default function Privateroute({component:Component, ...rest}) { + return ( + {user ? : } + ); +} diff --git a/Aplicacion/src/Components/Login/Profile.js b/Aplicacion/src/Components/Login/Profile.js new file mode 100644 index 0000000..bc2481a --- /dev/null +++ b/Aplicacion/src/Components/Login/Profile.js @@ -0,0 +1,30 @@ +import React from "react"; +import { useAuth0 } from "@auth0/auth0-react"; +import JSONPretty from 'react-json-pretty'; +import "react-json-pretty/themes/monikai.css" + +export const Profile = () => { + const { user, isAuthenticated, isLoading } = useAuth0(); + if (isLoading) { + return
Cargando...
; + } + else + return ( + isAuthenticated && ( +
+
+ {user.name} +

{user.name}

+

Email:{user.email}

+

{user.profile}

+ + +
+
+ ; +
+
+ ) + ); + +} \ No newline at end of file diff --git a/Aplicacion/src/Components/Navbar.js b/Aplicacion/src/Components/Navbar.js new file mode 100644 index 0000000..0e90de6 --- /dev/null +++ b/Aplicacion/src/Components/Navbar.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react' +import { Link } from 'react-router-dom' +import '../App.css'; + +//export default function Navbar() { + +class Navbar extends Component{ + state={clicked: false} + + handleClick=() =>{ this.setStated({clicked: !this.state.clicked}) + } +render(){ + return ( + + ) +} +} +export default Navbar; diff --git a/Aplicacion/src/Components/Productos/RegistroProductos.css b/Aplicacion/src/Components/Productos/RegistroProductos.css new file mode 100644 index 0000000..fe8fa33 --- /dev/null +++ b/Aplicacion/src/Components/Productos/RegistroProductos.css @@ -0,0 +1,26 @@ + +.CProductos{ + + margin: 50px auto; +} + +.Lfind{ + left: 0%; + font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; + color: darkcyan; +} + +.find{ + border-radius: 5px; + display: block; +} + +.insertar{ + + margin: 0% 10% auto auto; + +} + +.thead-dark{ + background-color: thead-dark; +} \ No newline at end of file diff --git a/Aplicacion/src/Components/Productos/RegistroProductos.js b/Aplicacion/src/Components/Productos/RegistroProductos.js new file mode 100644 index 0000000..d073b4c --- /dev/null +++ b/Aplicacion/src/Components/Productos/RegistroProductos.js @@ -0,0 +1,253 @@ +import React, { Component, Fragment } from 'react'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import axios from "axios"; +import { Table, Button, Container, Modal, ModalBody, ModalFooter, ModalHeader, FormGroup } from 'reactstrap' + + +const url = "http://localhost:3001/api"; +/*const data = [ + { Id: '1', Descripción: "Producto de Prueba", Valor_Unitario: "200", Estado: "Disponible" }, +];*/ + +class Productos extends Component { + + state = { + data: [], + form: { + Id: '', + Description: '', + Estado: '', + Valor_Unitario: '', + + }, + modalInsertar: false, + modalEliminar: false, + tipoModal: '', + buscar: '', + product: [], + }; + + peticionGet = () => { + axios.get(url).then(response => { + this.setState({ data: response.data }); + }).catch(error => { + console.log(error.message); + }) + } + + peticionPost = async () => { + delete this.state.form.Id; + await axios.post(url, this.state.form).then(response => { + this.modalInsertar(); + this.peticionGet(); + }).catch(error => { + console.log(error.message); + }) + } + + peticionPut = () => { + axios.put(url + this.state.form.Id, this.state.form).then(response => { + this.modalInsertar(); + this.peticionGet(); + }).catch(error => { + console.log(error.message); + }) + } + + peticionDelete = () => { + axios.delete(url + this.state.form.Id).then(response => { + this.setState({ modalEliminar: false }); + this.peticionGet(); + }).catch(error => { + console.log(error.message); + }) + } + + modalInsertar = () => { + this.setState({ modalInsertar: !this.state.modalInsertar }); + } + + + seleccionarDescription = (Description) => { + this.setState({ + tipoModal: 'actualizar', + form: { + Id: Description.Id, + Valor_Unitario: Description, + Estado: Description.Estado + } + }) + } + + + handleChange = async e => { + e.persist(); + await this.setState({ + + form: { + ...this.state.form, + [e.target.name]: e.target.value, + } + }); + } + + componentDidMount() { + this.peticionGet(); + } + + + + onChange = async e => { + e.persist(); + await this.setState({ buscar: e.target.value }); + console.log(this.state.buscar); + this.filtrarDescriptions(); + } + + /* + editar = (dato) => { + var contador = 0; + var lista = this.state.data; + lista.map((registro) => { + if (dato.Id === registro.Id) { + lista[contador].Descripción = dato.Descripción; + lista[contador].Valor_Unitario = dato.Valor_Unitario; + lista[contador].Estado = dato.Estado; + } + contador++; + }); + this.setState({ data: lista, modalEditar: false }); + } + + eliminar = (dato) => { + var opcion = window.confirm("Esta seguro de eliminar el registro? " + dato.Id); + if (opcion) { + var contador = 0; + var lista = this.state.data; + lista.map((registro) => { + if (registro.Id === dato.Id) { + lista.splice(contador, 1); + } + contador++; + }); + this.setState({ data: lista }); + } + } + */ + + + filtrarDescriptions = () => { + var search = this.state.data.filter((Description) => { + if (Description.Descripción.includes(this.state.buscar) || + Description.Estado.includes(this.state.buscar) || + Description.Id.toString().includes(this.state.buscar) || + Description.Valor_Unitario.toString().includes(this.state.buscar)) { + return Description; + } + }); + this.setState({ product: search }); + } + + render() { + const { form } = this.state; + return ( + + +

Módulo administrador de productos

+
+ + + +
+ +

+ + + + + + + + + + + + {this.state.product.map(Description => { + return ( + + + + + + + {""} + + + ) + })} + +
IdDescripciónEstadoValor_UnitarioAcciones
{Description.Id}{Description.Descripción}{Description.Estado}{Description.Valor_Unitario}
+ + {/* REVIAR CIERRE DEL CONTAINER*/} + + +
+

Insertar Registro

+ this.modalInsertar()}> +
+
+ + + + + + + + + + + + + + + + + + + + + + + {this.state.tipoModal === 'insertar' ? + : + } + + +
+ + + +
+

Editar Registro

+
+
+ + + Esta seguro que desea elminar el producto {form && form.Description} + + + + + + +
+
+
+ ); + } + +} +export default Productos \ No newline at end of file diff --git a/Aplicacion/src/Components/Register/Users.js b/Aplicacion/src/Components/Register/Users.js new file mode 100644 index 0000000..fc05126 --- /dev/null +++ b/Aplicacion/src/Components/Register/Users.js @@ -0,0 +1,16 @@ +import React from "react"; + + +class Users extends React.Component{ + + render(){ +
+

Gestión de Usuarios

+
+ +
+ +
+ + } +} \ No newline at end of file diff --git a/Aplicacion/src/Components/Rutas/Rutas.js b/Aplicacion/src/Components/Rutas/Rutas.js new file mode 100644 index 0000000..6a71157 --- /dev/null +++ b/Aplicacion/src/Components/Rutas/Rutas.js @@ -0,0 +1,31 @@ +import { Route, BrowserRouter as Router, Switch } from 'react-router-dom' +import React from 'react' +import { LoginButton } from '../Login/Login' +import { LogoutButton } from '../Login/Logout' +import Productos from '../Productos/RegistroProductos' +import Navbar from '../Navbar' +import Privateroute from '../Login/Privateroute' +import { Profile } from '../Login/Profile' + +export default function Rutas() { + return ( + + + + + + + + + + + + +

404 Not found

+
+
+ + +
+ ) +} diff --git a/Aplicacion/src/index.css b/Aplicacion/src/index.css new file mode 100644 index 0000000..da4847a --- /dev/null +++ b/Aplicacion/src/index.css @@ -0,0 +1,16 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} + + diff --git a/Aplicacion/src/index.js b/Aplicacion/src/index.js new file mode 100644 index 0000000..6484afa --- /dev/null +++ b/Aplicacion/src/index.js @@ -0,0 +1,20 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import { Auth0Provider } from '@auth0/auth0-react'; +import 'bootstrap/dist/css/bootstrap.css' ; + + +ReactDOM.render( + + + , + + , + document.getElementById('root'), + +); \ No newline at end of file