diff --git a/package-lock.json b/package-lock.json
index 94737ae..206d488 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,12 +10,14 @@
"dependencies": {
"bootstrap": "^5.3.3",
"bootstrap-icons": "^1.11.3",
+ "html5-qrcode": "^2.3.8",
"next": "15.2.4",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
+ "@types/bootstrap": "^5.2.10",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
@@ -1157,7 +1159,6 @@
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"license": "MIT",
- "peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -1203,6 +1204,16 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/@types/bootstrap": {
+ "version": "5.2.10",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.10.tgz",
+ "integrity": "sha512-F2X+cd6551tep0MvVZ6nM8v7XgGN/twpdNDjqS1TUM7YFNEtQYWk+dKAnH+T1gr6QgCoGMPl487xw/9hXooa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@popperjs/core": "^2.9.2"
+ }
+ },
"node_modules/@types/estree": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
@@ -3446,6 +3457,12 @@
"node": ">= 0.4"
}
},
+ "node_modules/html5-qrcode": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/html5-qrcode/-/html5-qrcode-2.3.8.tgz",
+ "integrity": "sha512-jsr4vafJhwoLVEDW3n1KvPnCCXWaQfRng0/EEYk1vNcQGcG/htAdhJX0be8YyqMoSz7+hZvOZSTAepsabiuhiQ==",
+ "license": "Apache-2.0"
+ },
"node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
diff --git a/package.json b/package.json
index a52fe6b..3494693 100644
--- a/package.json
+++ b/package.json
@@ -11,12 +11,14 @@
"dependencies": {
"bootstrap": "^5.3.3",
"bootstrap-icons": "^1.11.3",
+ "html5-qrcode": "^2.3.8",
"next": "15.2.4",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
+ "@types/bootstrap": "^5.2.10",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
diff --git a/src/app/(auth)/layout.tsx b/src/app/(auth)/layout.tsx
new file mode 100644
index 0000000..bacb999
--- /dev/null
+++ b/src/app/(auth)/layout.tsx
@@ -0,0 +1,15 @@
+import Footer from '@/components/layout/footer';
+import Header from '@/components/layout/header';
+import React from 'react';
+
+export default function Layout({ children }: { children: React.ReactNode }) {
+ return (
+
+ );
+}
diff --git a/src/app/(auth)/login/administradores/page.tsx b/src/app/(auth)/login/administradores/page.tsx
new file mode 100644
index 0000000..b302afc
--- /dev/null
+++ b/src/app/(auth)/login/administradores/page.tsx
@@ -0,0 +1,5 @@
+import React from 'react';
+
+export default function Page() {
+ return Page
;
+}
diff --git a/src/app/(auth)/login/staff/page.tsx b/src/app/(auth)/login/staff/page.tsx
new file mode 100644
index 0000000..9f4bfad
--- /dev/null
+++ b/src/app/(auth)/login/staff/page.tsx
@@ -0,0 +1,33 @@
+'use client';
+import Button from '@/components/button';
+import Input from '@/components/input';
+import { useRouter } from 'next/navigation';
+import React from 'react';
+
+export default function Page() {
+ const router = useRouter();
+
+ const handleOnSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ // Aquí puedes agregar la lógica para manejar el inicio de sesión
+ // Por ejemplo, validar las credenciales y redirigir al usuario
+ router.push('/staff');
+ };
+
+ return (
+
+
Iniciar sesión
+
Staff
+
+
+
+ );
+}
diff --git a/src/app/administrador/crear-formulario/page.tsx b/src/app/administrador/crear-formulario/page.tsx
index 907632b..6f10cd4 100644
--- a/src/app/administrador/crear-formulario/page.tsx
+++ b/src/app/administrador/crear-formulario/page.tsx
@@ -206,25 +206,6 @@ export default function AdminFormPage() {
)}
-
-
- setNombreFormulario(e.target.value)}
- />
-
-
-
-
-
@@ -271,6 +252,26 @@ export default function AdminFormPage() {
+
+
+ setNombreFormulario(e.target.value)}
+ />
+
+
+
+
+
+