diff --git a/package-lock.json b/package-lock.json index 135923a..89613e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@zxing/library": "^0.21.3", "axios": "^1.13.2", "js-cookie": "^3.0.5", + "jwt-decode": "^4.0.0", "next": "16.0.2", "react": "19.2.0", "react-dom": "19.2.0", @@ -61,6 +62,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1632,6 +1634,7 @@ "integrity": "sha512-tBFxBp9Nfyy5rsmefN+WXc1JeW/j2BpBHFdLZbEVfs9wn3E3NRFxwV0pJg8M1qQAexFpvz73hJXFofV0ZAu92A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -1692,6 +1695,7 @@ "integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.4", "@typescript-eslint/types": "8.46.4", @@ -2233,6 +2237,7 @@ "resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.21.3.tgz", "integrity": "sha512-hZHqFe2JyH/ZxviJZosZjV+2s6EDSY0O24R+FQmlWZBZXP9IqMo7S3nb3+2LBWxodJQkSurdQGnqE7KXqrYgow==", "license": "MIT", + "peer": true, "dependencies": { "ts-custom-error": "^3.2.1" }, @@ -2256,6 +2261,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2655,6 +2661,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -2872,7 +2879,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/cwise-compiler": { "version": "1.1.3", @@ -3299,6 +3307,7 @@ "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -3484,6 +3493,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -4969,6 +4979,15 @@ "node": ">=4.0" } }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -5702,6 +5721,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -5711,6 +5731,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -6015,6 +6036,7 @@ "integrity": "sha512-Dqh7SiYcaFtdv5Wvku6QgS5IGPm281L+ZtVD1U2FJa7Q0EFRlq8Z3sjYtz6gYObsYThUOz9ArwFqPZx+1azILQ==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -6549,6 +6571,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6751,6 +6774,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7055,6 +7079,7 @@ "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 4bb973a..809aa92 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@zxing/library": "^0.21.3", "axios": "^1.13.2", "js-cookie": "^3.0.5", + "jwt-decode": "^4.0.0", "next": "16.0.2", "react": "19.2.0", "react-dom": "19.2.0", diff --git a/src/app/(Administrador)/crearCuenta/page.tsx b/src/app/(Administrador)/crearCuenta/page.tsx index 30ed9c9..69545d4 100644 --- a/src/app/(Administrador)/crearCuenta/page.tsx +++ b/src/app/(Administrador)/crearCuenta/page.tsx @@ -4,33 +4,16 @@ import { useState } from "react"; import "../../styles/layout/login.scss"; import "../../styles/base/globales.scss"; -import Link from "next/link"; import axios from "axios"; -import { useRouter } from "next/navigation"; import toast from "react-hot-toast"; - +import Cookies from "js-cookie"; export default function Page() { const [nombre, setNombre] = useState(""); - const [correo, setCorreo] = useState(""); const [password, setPassword] = useState(""); const [confirmarPassword, setConfirmarPassword] = useState(""); const [loading, setLoading] = useState(false); - const router = useRouter(); - - const [crearCuenta,setCrearCuenta]=useState(); - - async function CrearCuenta() { - const res=await axios.post("https",{ - nombre, - contraseña:password, - tipoUsuario:2 - }); - setCrearCuenta(res.data); - } - - const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); @@ -42,17 +25,20 @@ export default function Page() { setLoading(true); try { - const response = await axios.post( - `${process.env.NEXT_PUBLIC_API_URL}/auth/registro`, - { - nombre, - contraseña: password, - tipoUsuario: 2, - } - ); + const token = Cookies.get("token"); + const headers = { Authorization: `Bearer ${token}` }; + + const response = await axios.post( + `${process.env.NEXT_PUBLIC_API_URL}/auth/registro`, + { + nombre, + contraseña: password, + tipoUsuario: 2, + }, + { headers } + ); toast.success("Cuenta creada correctamente"); - router.push("/"); // redirige al login } catch (err: unknown) { if (axios.isAxiosError(err)) { if (err.response) { @@ -111,7 +97,6 @@ export default function Page() { - diff --git a/src/app/(Administrador)/equipoComputo/page.tsx b/src/app/(Administrador)/equipoComputo/page.tsx index 7319c63..a325f36 100644 --- a/src/app/(Administrador)/equipoComputo/page.tsx +++ b/src/app/(Administrador)/equipoComputo/page.tsx @@ -3,29 +3,27 @@ import { useState } from "react"; import Pregunta1 from "@/components/Equipo_Computo/Pregunta1"; import Pregutna2 from "@/components/Equipo_Computo/Pregunta2"; -import Pregunta2_1 from "@/components/Equipo_Computo/Pregunta2_1"; import Pregunta3 from "@/components/Equipo_Computo/Pregunta3"; import Pregunta7EP from "@/components/Perifericos/Pregunta7EP"; import Pregunta9 from "@/components/Equipo_Computo/Pregunta9"; -import Pregunta10 from "@/components/Equipo_Computo/pregunta10"; import "../../styles/layout/reporte.scss"; -import Pregunta_4 from "@/components/Equipo_Computo/Pregunta_4"; +import Pregunta8 from "@/components/Perifericos/Pregunta8"; type PreguntaKey = | "pregunta1" | "pregunta2" | "pregunta3" | "pregunta7EP" - | "pregunta9" - | "pregunta10"; + | "pregunta8" + | "pregunta9"; const LABELS: Record = { pregunta1: "Perfil de Usuario", pregunta2: "Sistema Operativo", pregunta3: "Plataforma y tipo procesador", pregunta7EP: "Laboratorios", + pregunta8:"Proyectos", pregunta9: "Generales", - pregunta10: "Garantía de Proveedor", }; // Mapeo de fondo por pregunta (puedes personalizarlo) @@ -34,8 +32,8 @@ const TAB_BACKGROUNDS: Record = { pregunta2: "bg-gray", pregunta3: "bg-gray", pregunta7EP: "bg-gray", + pregunta8:"bg-gray", pregunta9: "bg-blue", - pregunta10: "bg-blue", }; export default function Page() { @@ -50,11 +48,11 @@ export default function Page() { case "pregunta3": return ; case "pregunta7EP": - return ; + return + case "pregunta8": + return ; case "pregunta9": return ; - case "pregunta10": - return ; default: return (
diff --git a/src/app/(Administrador)/perifericos/page.tsx b/src/app/(Administrador)/perifericos/page.tsx index e6d9a13..f60e798 100644 --- a/src/app/(Administrador)/perifericos/page.tsx +++ b/src/app/(Administrador)/perifericos/page.tsx @@ -7,20 +7,14 @@ import Pregunta2EP from "@/components/Perifericos/Pregunta2EP"; import Pregunta4EP from "@/components/Perifericos/Pregunta4EP"; import Pregunta5EP from "@/components/Perifericos/Pregunta5EP"; import "../../styles/layout/reporte.scss"; +import DownloadReporteXLSX from "@/components/Dowload/Reporte"; -type PreguntaKey = - | "pregunta1" - | "pregunta2" - | "pregunta4" - | "pregunta5" - | "pregunta7"; +type PreguntaKey = "pregunta1" | "pregunta4" | "pregunta7"; const LABELS: Record = { - pregunta1: "Pregunta 1", - pregunta2: "Pregunta 2", - pregunta4: "Pregunta 4", - pregunta5: "Pregunta 5", - pregunta7: "Pregunta 7", + pregunta1: "Impresoras", + pregunta4: "Digitales", + pregunta7: "Antiguedad", }; export default function Page() { @@ -29,15 +23,26 @@ export default function Page() { const renderPregunta = () => { switch (activeTab) { case "pregunta1": - return ; - case "pregunta2": - return ; + return ( + <> + + + + ); case "pregunta4": - return ; - case "pregunta5": - return ; + return ( + <> + + + + ); case "pregunta7": - return ; + return ( + <> + + + + ); default: return (
@@ -64,9 +69,7 @@ export default function Page() { ))}
-
- {renderPregunta()} -
+
{renderPregunta()}
diff --git a/src/app/(Administrador)/pregunta1/page.tsx b/src/app/(Administrador)/pregunta1/page.tsx deleted file mode 100644 index d2d0174..0000000 --- a/src/app/(Administrador)/pregunta1/page.tsx +++ /dev/null @@ -1,124 +0,0 @@ -"use client"; - -import { useState } from "react"; - -type OsEntry = { - os: string; - count: number; - isTotal?: boolean; -}; - -type PlatformKey = - | "pc-desktop" - | "apple-desktop" - | "pc-laptop" - | "apple-laptop" - | "servers"; - -type PlatformData = Record; - -const MOCK_DATA: PlatformData = { - "pc-desktop": [ - { os: "Windows 11", count: 408 }, - { os: "Windows 10", count: 1171 }, - { os: "Windows 7/8", count: 177 }, - { os: "Windows XP/Vista", count: 43 }, - { os: "Linux", count: 45 }, - { os: "Total", count: 1844, isTotal: true }, - ], - "apple-desktop": [ - { os: "Mac OS X (13 - Ventura, 14 - Sonoma)", count: 205 }, - { - os: "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", - count: 180, - }, - { os: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", count: 95 }, - { os: "Mac OS X (Snow Leopard, Mountain Lion, Mavericks)", count: 6 }, - { os: "Total", count: 480, isTotal: true }, - ], - "pc-laptop": [ - { os: "Windows 11", count: 40 }, - { os: "Windows 10", count: 171 }, - { os: "Windows 7/8", count: 17 }, - { os: "Windows XP/Vista", count: 3 }, - { os: "Linux", count: 5 }, - { os: "Total", count: 236, isTotal: true }, - ], - "apple-laptop": [ - { os: "Mac OS X (13 - Ventura, 14 - Sonoma)", count: 205 }, - { - os: "Mac OS X (Mojave, Catalina, 11 - Big Sur, 12 - Monterrey)", - count: 180, - }, - { os: "Mac OS X (Yosemite, El Capitan, Sierra, High Sierra)", count: 95 }, - { os: "Mac OS X (Snow Leopard, Mountain Lion, Mavericks)", count: 6 }, - { os: "Total", count: 480, isTotal: true }, - ], - servers: [ - { - os: "Linux (CentOS, Fedora, Ubuntu, Red Hat Enterprise, entre otros)", - count: 120, - }, - { os: "Unix (AIX, Mac OS Server, Solaris, etc.)", count: 80 }, - { os: "Windows Server 2022/2023", count: 50 }, - { os: "Windows Server 2016/2019", count: 80 }, - { os: "Windows Server 2008/2012", count: 50 }, - { os: "Windows Server 2000/2003", count: 12 }, - { os: "Total", count: 392, isTotal: true }, - ], -}; - -const PLATFORM_LABELS: Record = { - "pc-desktop": "Computadoras de escritorio Plataforma PC", - "apple-desktop": "Computadoras de escritorio Plataforma Apple", - "pc-laptop": "Computadoras portátiles Plataforma PC", - "apple-laptop": "Computadoras portátiles Plataforma Apple", - servers: "Servidores de alto rendimiento", -}; - -export default function Pregunta1() { - const [activeTab, setActiveTab] = useState("pc-desktop"); - - const currentData = MOCK_DATA[activeTab]; - - return ( -
-
-
- Presione cada pestaña para ver la información de las plataformas. -
- -
- {/* Tabs */} -
- {Object.entries(PLATFORM_LABELS).map(([key, label]) => ( - - ))} -
- - {/* Data Table */} -
-
- {currentData.map((item, index) => ( -
-
{item.os}
-
{item.count}
-
- ))} -
-
-
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta1EP/page.tsx b/src/app/(Administrador)/pregunta1EP/page.tsx deleted file mode 100644 index 8f36988..0000000 --- a/src/app/(Administrador)/pregunta1EP/page.tsx +++ /dev/null @@ -1,162 +0,0 @@ -"use client"; -import React, { useState, useEffect } from "react"; -import "../../styles/layout/pregunta1EP.scss"; - -interface EquiposImpresion { - inyeccionTinta: string; - laserPequenaBN: string; - matrizPuntos: string; - laserAltoVolumenBN: string; - laserPequenaColor: string; - multifuncionales: string; - laserAltoVolumenColor: string; - impresora3D: string; - plotter: string; -} - -export default function Pregunta1EPPage() { - const [equipos, setEquipos] = useState({ - inyeccionTinta: "7", - laserPequenaBN: "186", - matrizPuntos: "", - laserAltoVolumenBN: "28", - laserPequenaColor: "20", - multifuncionales: "108", - laserAltoVolumenColor: "18", - impresora3D: "2", - plotter: "11", - }); - - // 🔹 Preparado para conectar con API del backend - useEffect(() => { - // Cuando te den la API, descomenta y edita la URL 👇 - /* - fetch("https://tu-api-backend.com/api/equipos-impresion") - .then((res) => res.json()) - .then((data) => setEquipos(data)) - .catch((err) => console.error("Error al obtener datos:", err)); - */ - }, []); - - const handleChange = (e: React.ChangeEvent) => { - setEquipos({ - ...equipos, - [e.target.name]: e.target.value, - }); - }; - - return ( -
-
- 1. Desglose el número de equipos de impresión con que cuenta el área - universitaria. -
- -
- {/* Columna 1 */} -
- - -
- -
- - -
- -
- - -
- - {/* Columna 2 */} -
- - -
- -
- - -
- -
- - -
- - {/* Columna 3 */} -
- - -
- -
- - -
- -
- - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta1_1/page.tsx b/src/app/(Administrador)/pregunta1_1/page.tsx deleted file mode 100644 index 610a596..0000000 --- a/src/app/(Administrador)/pregunta1_1/page.tsx +++ /dev/null @@ -1,129 +0,0 @@ -"use client"; -import React, { useState } from "react"; -import "./pregunta1.1.css"; - -export default function Pregunta1() { - const [datos, setDatos] = useState([ - { nombre: "Windows", valores: ["", "", "", "", ""] }, - { nombre: "Linux", valores: ["", "", "", "", ""] }, - { nombre: "Mac OS", valores: ["", "", "", "", ""] }, - { nombre: "Total", valores: ["", "", "", "", ""] }, - ]); - - const handleChange = (filaIndex: number, colIndex: number, value: string) => { - const nuevosDatos = [...datos]; - nuevosDatos[filaIndex].valores[colIndex] = value; - setDatos(nuevosDatos); - }; - - const calcularTotalFila = (valores: string[]) => - valores.reduce((acc, val) => acc + (Number(val) || 0), 0); - - const calcularTotalesColumnas = () => { - const numColumnas = datos[0].valores.length; - const totales = Array(numColumnas).fill(0); - datos.slice(0, -1).forEach((fila) => { - fila.valores.forEach((valor, colIndex) => { - totales[colIndex] += Number(valor) || 0; - }); - }); - return totales; - }; - - const totalesColumnas = calcularTotalesColumnas(); - - // Títulos de las tablas - const tablas = [ - "Computadoras de escritorio", - "Tabletas", - "Computadoras portátiles", - "Alto rendimiento", - ]; - - // Función para renderizar una tabla - const renderTabla = (titulo: string) => ( -
- - - - - - - - - - - - - - {datos.map((fila, filaIndex) => { - if (fila.nombre === "Total") { - const totalGeneral = calcularTotalFila( - totalesColumnas.map(String) - ); - return ( - - - {totalesColumnas.map((colTotal, i) => ( - - ))} - - - ); - } - - const totalFila = calcularTotalFila(fila.valores); - return ( - - - {fila.valores.map((valor, colIndex) => ( - - ))} - - - ); - })} - -
{titulo}AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativosTotal
{fila.nombre}{colTotal}{totalGeneral}
{fila.nombre} -
- - handleChange(filaIndex, colIndex, e.target.value) - } - /> -
-
100 ? "total-error" : "" - }`} - > - {totalFila} -
-
- ); - - return ( -
-
Censo de equipos de cómputo
- -
- 1. Desglose en cada renglón, el número de equipos de cómputo dedicado por cada categoría - enlistada, de acuerdo con el perfil de usuario al que se destina su uso primordialmente. * -
- - {/* FILA SUPERIOR */} -
- {renderTabla(tablas[0])} - {renderTabla(tablas[1])} -
- - {/* FILA INFERIOR */} -
- {renderTabla(tablas[2])} - {renderTabla(tablas[3])} -
-
- ); -} diff --git a/src/app/(Administrador)/pregunta1_1/pregunta1.1.css b/src/app/(Administrador)/pregunta1_1/pregunta1.1.css deleted file mode 100644 index f7c439b..0000000 --- a/src/app/(Administrador)/pregunta1_1/pregunta1.1.css +++ /dev/null @@ -1,148 +0,0 @@ -.contenedor-pregunta { - padding: 20px; - font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; - background-color: #f9fafc; -} - -.contenedor-censo{ - background-color: #002855; - color: white; - padding: 15px; - font-size: 20px; - margin-bottom: 25px; -} - - -.pregunta-cuadro { - background-color: #f5f5f5; - border-left: 6px solid #001f3f; - padding: 15px; - border-radius: 8px; - font-size: 16px; - margin-bottom: 25px; -} - - -.tabla-contenedor { - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - overflow-x: auto; - min-width: 700px; -} - -/* Tabla */ -.tabla { - width: 100%; - border-collapse: collapse; - text-align: center; - color: black; - width: 100%; /* ocupa todo el ancho del contenedor */ - table-layout: fixed; -} - -.tabla th, -.tabla td { - border: 1px solid #ddd; - padding: 12px; - -} - -.tabla th { - color: white; - font-weight: 600; - font-size: 15px; -} - -.tabla td { - font-size: 14px; -} - -/* Colores personalizados */ -.azul-marino { - background-color: #002855; - color: white; -} - -.rosa-fuerte { - background-color: #dc1557; - color: white; -} - -/* Contenedor input */ -.input-contenedor { - position: relative; - display: flex; - justify-content: center; - align-items: center; - height: 100%; -} - -/* Input */ -.input-contenedor input { - width: 100%; - padding: 6px 25px 6px 6px; - border: 2px solid #002855; - border-radius: 6px; - font-size: 14px; - color: #333; - text-align: center; - outline: none; - background-color: rgb(232, 226, 226); - box-sizing: border-box; -} - - -.input-contenedor input::-webkit-inner-spin-button, -.input-contenedor input::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -/* Focus del input */ -.input-contenedor input:focus { - border-color: #001f3f; - box-shadow: 0 0 6px rgba(0, 47, 95, 0.3); -} - -/* Placeholder gris claro */ -.input-contenedor input::placeholder { - color: #bbb; - opacity: 1; -} - - -.input-contenedor .porcentaje { - position: absolute; - right: 8px; - color: #555; - font-weight: bold; - pointer-events: none; - font-size: 14px; - top: 50%; - transform: translateY(-50%); -} - -/* Celda del total */ -.total-celda { - font-weight: bold; - color: #002855; - background-color: #eef2f6; -} - -/* Total > 100% */ -.total-error { - background-color: #ffcccc; - color: #a80000; -} - -.contenedor-tablas { - display: flex; - gap: 20px; - flex-wrap: wrap; -} - -.tabla-contenedor { - flex: 1; -} diff --git a/src/app/(Administrador)/pregunta1_2/page.tsx b/src/app/(Administrador)/pregunta1_2/page.tsx deleted file mode 100644 index 6960eea..0000000 --- a/src/app/(Administrador)/pregunta1_2/page.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import "./page1.css"; // Importamos los estilos - -export default function Pregunta1() { - return ( -
-
-

PREGUNTA 1

- -
-

- 1. Desglose el número de equipos de impresión con que cuenta el área - universitaria. -

- -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- -
- - Ir a Pregunta 2 → - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta1_2/page1.css b/src/app/(Administrador)/pregunta1_2/page1.css deleted file mode 100644 index ab1bf2d..0000000 --- a/src/app/(Administrador)/pregunta1_2/page1.css +++ /dev/null @@ -1,94 +0,0 @@ -/* === ESTILOS GENERALES === */ -.pregunta-page { - min-height: 100vh; - display: flex; - justify-content: center; - align-items: center; - background: linear-gradient(to bottom, #ebf4ff, #ffffff); - font-family: "Inter", sans-serif; -} - -/* === CONTENEDOR === */ -.pregunta-container { - background: white; - border: 1px solid #e5e7eb; - border-radius: 20px; - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05); - width: 90%; - max-width: 900px; - padding: 3rem; -} - -/* === TÍTULO === */ -.pregunta-titulo { - font-size: 2rem; - font-weight: 700; - text-align: center; - color: #1e40af; - margin-bottom: 2rem; -} - -/* === TEXTO === */ -.pregunta-texto { - font-weight: 600; - color: #374151; - margin-bottom: 1.5rem; -} - -/* === GRID DE INPUTS === */ -.pregunta-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: 1.5rem; -} - -.pregunta-grid label { - display: block; - font-size: 0.9rem; - color: #4b5563; - margin-bottom: 0.4rem; -} - -.pregunta-grid input { - width: 100%; - padding: 0.6rem 0.8rem; - border: 1px solid #d1d5db; - border-radius: 8px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); - background-color: #f9fafb; - transition: all 0.2s ease; -} - -.pregunta-grid input:focus { - border-color: #2563eb; - outline: none; - background-color: #ffffff; - box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3); -} - -/* === BOTONES === */ -.boton-contenedor { - display: flex; - justify-content: center; - margin-top: 2.5rem; -} - -.boton { - display: inline-block; - padding: 0.8rem 1.6rem; - border-radius: 10px; - font-weight: 500; - text-decoration: none; - transition: all 0.2s ease; - box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25); -} - -.boton.siguiente { - background-color: #2563eb; - color: white; -} - -.boton.siguiente:hover { - background-color: #1e3a8a; - transform: scale(1.05); -} diff --git a/src/app/(Administrador)/pregunta2/page.tsx b/src/app/(Administrador)/pregunta2/page.tsx deleted file mode 100644 index 197c114..0000000 --- a/src/app/(Administrador)/pregunta2/page.tsx +++ /dev/null @@ -1,161 +0,0 @@ -"use client"; - -import { useState, useEffect } from "react"; -import "./pregunta2.scss"; - -// Tipos -type OsEntry = { - os: string; - count: string; // o number si la API devuelve números - isTotal?: boolean; -}; - -type PlatformData = { - [key: string]: OsEntry[]; -}; - -// === DATOS TEMPORALES (mock) === -const MOCK_DATA: PlatformData = { - "pc-desktop": [ - { os: "Windows 11", count: "408" }, - { os: "Windows 10", count: "1171" }, - { os: "Windows 7/8", count: "177" }, - { os: "Windows XP/Vista", count: "43" }, - { os: "Linux", count: "45" }, - { os: "Total", count: "1844", isTotal: true }, - ], - "apple-desktop": [ - { os: "Mac OS X(13 - Ventura, 14 - Sonoma)", count: "205" }, - { - os: "Mac OS X(Mojave,Catalina,11 - Big Sur, 12 - Monterrey)", - count: "180", - }, - { os: "Mac OS X(Yosemite,El Capitan,Sierra,High Sierra)", count: "95" }, - { os: "Mac OS X(Snow Leopard,Mountain Lion,Mavericks)", count: "6" }, - { os: "Total", count: "480", isTotal: true }, - ], - "pc-laptop": [ - { os: "Windows 11", count: "40" }, - { os: "Windows 10", count: "171" }, - { os: "Windows 7/8", count: "17" }, - { os: "Windows XP/Vista", count: "3" }, - { os: "Linux", count: "5" }, - { os: "Total", count: "144", isTotal: true }, - ], - "apple-laptop": [ - { os: "Mac OS X(13 - Ventura, 14 - Sonoma)", count: "39" }, - { - os: "Mac OS X(Mojave,Catalina,11 - Big Sur, 12 - Monterrey)", - count: "23", - }, - { os: "Mac OS X(Yosemite,El Capitan,Sierra,High Sierra)", count: "0" }, - { os: "Mac OS X(Snow Leopard,Mountain Lion,Mavericks)", count: "9" }, - { os: "Total", count: "71", isTotal: true }, - ], - servers: [ - { - os: "Linux (CentOs,Fedora,Ubuntu,Red Hat Enterprise,entre otros)", - count: "21", - }, - { os: "Unix (AIX,MAC OS Server,Solaris,entre otros)", count: "2" }, - { os: "Windows Server 2022/2023", count: "6" }, - { os: "Windows Server 2016/2019", count: "3" }, - { os: "Windows Server 2008/2012", count: "3" }, - { os: "Windows Server 2000/2003", count: "2" }, - { os: "Total", count: "37", isTotal: true }, - ], -}; - -const API_ENDPOINT = "/api/platform-stats"; // ← ¡Reemplaza esto cuando sepas la URL real! - -const Page = () => { - const [activeTab, setActiveTab] = useState("pc-desktop"); - const [data, setData] = useState(MOCK_DATA); - const [loading, setLoading] = useState(true); - const [error, setError] = useState(null); - - useEffect(() => { - const fetchData = async () => { - try { - // === DESCOMENTA ESTO CUANDO TENGAS LA API === - // const response = await fetch(API_ENDPOINT); - // if (!response.ok) throw new Error('Error al cargar estadísticas'); - // const apiData: PlatformData = await response.json(); - // setData(apiData); - // setLoading(false); - - // === POR AHORA: usa datos simulados (y simula un retraso si quieres) === - // await new Promise(resolve => setTimeout(resolve, 300)); - setData(MOCK_DATA); - setLoading(false); - } catch (err) { - console.error("Error al cargar datos:", err); - setError( - "No se pudieron cargar las estadísticas. Usando datos temporales." - ); - setData(MOCK_DATA); // fallback en caso de error - setLoading(false); - } - }; - - fetchData(); - }, []); - - const currentData = data[activeTab] || []; - - // Si quisieras mostrar un estado de carga (opcional) - // if (loading) return

Cargando...

; - // if (error) console.warn(error); // o muestra un toast, etc. - - return ( -
-
-

Estadísticas de Plataformas

-
- -
-
-
- Presione cada pestaña para ver la información de las plataformas. -
- -
-
- {Object.entries({ - "pc-desktop": "Computadoras de escritorio Plataforma PC", - "apple-desktop": "Computadoras de escritorio Plataforma Apple", - "pc-laptop": "Computadoras portátiles Plataforma PC", - "apple-laptop": "Computadoras portátiles Plataforma Apple", - servers: "Servidores de alto rendimiento", - }).map(([key, label]) => ( -
setActiveTab(key)} - > - {label} -
- ))} -
- -
-
- {currentData.map((item, index) => ( -
-
{item.os}
-
{item.count}
-
- ))} -
-
-
-
-
-
- ); -}; - -export default Page; diff --git a/src/app/(Administrador)/pregunta2/pregunta2.scss b/src/app/(Administrador)/pregunta2/pregunta2.scss deleted file mode 100644 index ffd5807..0000000 --- a/src/app/(Administrador)/pregunta2/pregunta2.scss +++ /dev/null @@ -1,164 +0,0 @@ -.dashboardContainer { - display: flex; - flex-direction: column; - padding: 0; - margin: 0; - min-height: 100vh; - background-color: #f4f4f4; -} - -.header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 16px 24px; - background-color: #ffffff; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); - position: sticky; - top: 0; - z-index: 10; - - h2 { - margin: 0; - font-size: 1.5rem; - color: #0056b3; - } -} - -.scanView { - flex: 1; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - padding: 20px; - width: 100%; - height: 100%; - - .container { - width: 100%; - max-width: 900px; - border-radius: 12px; - box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); - overflow: hidden; - display: flex; - flex-direction: column; - border: 1px solid #ddd; - } - - .header { - padding: 16px 20px; - background: #f7f7f7; - border-bottom: 1px solid #e0e0e0; - font-size: 15px; - color: #0056b3; - text-align: center; - font-weight: 500; - display: block; - box-shadow: none; - position: static; - } - - .main-content { - display: flex; - min-height: 420px; - } - - .tabs { - width: 230px; - background-color: #fafafa; - display: flex; - flex-direction: column; - justify-content: flex-start; - } - - .tab { - padding: 18px 16px; - cursor: pointer; - border-right: 1px solid #e0e0e0; - color: #555; - transition: all 0.3s ease; - border-left: 4px solid transparent; - font-size: 15px; - font-weight: 500; - } - - .tab:hover { - background-color: #f0f0f0; - color: #000; - } - - .tab.active { - background-color: #fff; - border-left: 4px solid #0056b3; - border-right: none; - border-bottom: 1px solid #0056b3; - color: #0056b3; - font-weight: 600; - } - - .data-table-wrapper { - flex: 1; - padding: 20px; - } - - .data-table { - width: 100%; - } - - .data-row { - display: flex; - align-items: center; - justify-content: space-between; - padding: 12px 16px; - background: #f9f9f9; - transition: background 0.2s ease; - } - - .data-row:hover { - background: #f1f1f1; - } - - .os-name { - flex: 1; - font-size: 15px; - color: #333; - } - - .count-box { - background: #ffffff; - border: 1px solid #0056b3; - padding: 6px 14px; - font-weight: 600; - font-size: 15px; - text-align: center; - min-width: 70px; - } - - .total-row { - background: #eaf4ff; - font-weight: bold; - - .count-box { - color:#0056b3; - } - } -} - -/* ======== RESPONSIVE ======== */ -@media (max-width: 700px) { - .scanView .main-content { - flex-direction: column; - } - - .scanView .tabs { - flex-direction: row; - width: 100%; - } - - .scanView .tab { - flex: 1; - text-align: center; - font-size: 13px; - } -} \ No newline at end of file diff --git a/src/app/(Administrador)/pregunta2EP/page.tsx b/src/app/(Administrador)/pregunta2EP/page.tsx deleted file mode 100644 index 0501263..0000000 --- a/src/app/(Administrador)/pregunta2EP/page.tsx +++ /dev/null @@ -1,125 +0,0 @@ -"use client"; -import React, { useState, useEffect } from "react"; -import "../../styles/layout/pregunta2EP.scss"; - -interface EquiposPoblacion { - alumnos: string; - profesores: string; - tecnicosAcademicos: string; - investigadores: string; - administrativos: string; - total: string; -} - -export default function Pregunta2EPPage() { - const [equipos, setEquipos] = useState({ - alumnos: "35", - profesores: "43", - tecnicosAcademicos: "", - investigadores: "", - administrativos: "302", - total: "380", - }); - - // 🔹 Preparado para conectarse al backend - useEffect(() => { - // Cuando tengas la API, descomenta esta parte 👇 y reemplaza la URL: - /* - fetch("https://tu-api-backend.com/api/equipos-poblacion") - .then((res) => res.json()) - .then((data) => setEquipos(data)) - .catch((err) => console.error("Error al obtener datos:", err)); - */ - }, []); - - const handleChange = (e: React.ChangeEvent) => { - const { name, value } = e.target; - setEquipos({ - ...equipos, - [name]: value, - }); - }; - - return ( -
-
- *{" "} - (Requerido en el caso de contar con Equipo de impresión) -
- -
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta2_1/page.tsx b/src/app/(Administrador)/pregunta2_1/page.tsx deleted file mode 100644 index c833ebb..0000000 --- a/src/app/(Administrador)/pregunta2_1/page.tsx +++ /dev/null @@ -1,59 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page2.css"; // 👈 Importamos los estilos - -export default function Pregunta2() { - return ( -
-
-

PREGUNTA 2

- -
-

- Indique el número de equipos de impresión de acuerdo con la - población universitaria al que se destina su uso primordialmente. -

- -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- -
- - ← Volver a Pregunta 1 - - - - Ir a Pregunta 3 → - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta2_1/page2.css b/src/app/(Administrador)/pregunta2_1/page2.css deleted file mode 100644 index ec987db..0000000 --- a/src/app/(Administrador)/pregunta2_1/page2.css +++ /dev/null @@ -1,96 +0,0 @@ -.pregunta-page { - min-height: 100vh; - display: flex; - justify-content: center; - align-items: center; - background: linear-gradient(to bottom, #eef2ff, #ffffff); - font-family: "Inter", sans-serif; -} - -.pregunta-container { - background: white; - border: 1px solid #e5e7eb; - border-radius: 20px; - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05); - width: 90%; - max-width: 900px; - padding: 3rem; -} - -.pregunta-titulo { - font-size: 2rem; - font-weight: 700; - text-align: center; - color: #4338ca; - margin-bottom: 2rem; -} - -.pregunta-texto { - font-weight: 500; - color: #374151; - margin-bottom: 1.5rem; - text-align: justify; -} - -.pregunta-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1.5rem; -} - -.pregunta-grid label { - display: block; - color: #4b5563; - margin-bottom: 0.4rem; -} - -.pregunta-grid input { - width: 100%; - padding: 0.6rem 0.8rem; - border: 1px solid #d1d5db; - border-radius: 8px; - background-color: #f9fafb; - transition: all 0.2s ease; -} - -.pregunta-grid input:focus { - border-color: #6366f1; - outline: none; - box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3); -} - -.boton-grupo { - display: flex; - justify-content: space-between; - margin-top: 2.5rem; -} - -.boton { - display: inline-block; - padding: 0.8rem 1.6rem; - border-radius: 10px; - font-weight: 500; - text-decoration: none; - transition: all 0.2s ease; - box-shadow: 0 3px 8px rgba(99, 102, 241, 0.25); -} - -.boton.anterior { - background-color: #6b7280; - color: white; -} - -.boton.anterior:hover { - background-color: #374151; - transform: scale(1.05); -} - -.boton.siguiente { - background-color: #4f46e5; - color: white; -} - -.boton.siguiente:hover { - background-color: #312e81; - transform: scale(1.05); -} diff --git a/src/app/(Administrador)/pregunta3/page.tsx b/src/app/(Administrador)/pregunta3/page.tsx deleted file mode 100644 index 2952041..0000000 --- a/src/app/(Administrador)/pregunta3/page.tsx +++ /dev/null @@ -1,366 +0,0 @@ -"use client"; - -import React, { useState } from "react"; -import Link from "next/link"; -import "./page3.css"; - -export default function Pregunta3() { - const [activeTab, setActiveTab] = useState(0); - - const tabs = [ - "Computadoras de escritorio Plataforma PC", - "Computadoras de escritorio Plataforma Apple", - "Computadoras portátiles Plataforma PC", - "Computadoras portátiles Plataforma Apple", - "Alto rendimiento Servidores", - ]; - - // === DATOS DE CADA TABLA === - const data = [ - // === 1. PC Escritorio === - { - color: "#16a34a", - headerColor: "#15803d", - rows: [ - { - tipo: "Core i9 / Ryzen 9", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core i7 / Ryzen 7", - alumnos: "15", - profesores: "8", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "23", - }, - { - tipo: "Core i5 / Ryzen 5", - alumnos: "10", - profesores: "5", - tecnicos: "", - investigadores: "", - administrativos: "2", - total: "17", - }, - ], - total: { - alumnos: "25", - profesores: "13", - tecnicos: "0", - investigadores: "0", - administrativos: "2", - total: "40", - }, - }, - // === 2. Apple Escritorio === - { - color: "#a855f7", - headerColor: "#7e22ce", - rows: [ - { - tipo: "Familia M3", - alumnos: "10", - profesores: "2", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "12", - }, - { - tipo: "Familia M2", - alumnos: "5", - profesores: "3", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "8", - }, - ], - total: { - alumnos: "15", - profesores: "5", - tecnicos: "0", - investigadores: "0", - administrativos: "0", - total: "20", - }, - }, - // === 3. PC Portátiles === - { - color: "#22c55e", - headerColor: "#15803d", - rows: [ - { - tipo: "Core i5 (12a generación)", - alumnos: "12", - profesores: "5", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "17", - }, - { - tipo: "Core i7 (13a generación)", - alumnos: "6", - profesores: "4", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "11", - }, - ], - total: { - alumnos: "18", - profesores: "9", - tecnicos: "0", - investigadores: "0", - administrativos: "1", - total: "28", - }, - }, - // === 4. Apple Portátiles === - { - color: "#9333ea", - headerColor: "#7e22ce", - rows: [ - { - tipo: "Familia M2", - alumnos: "35", - profesores: "3", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "38", - }, - { - tipo: "Familia M1", - alumnos: "", - profesores: "5", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "6", - }, - { - tipo: "i5 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "14", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "14", - }, - ], - total: { - alumnos: "35", - profesores: "31", - tecnicos: "0", - investigadores: "0", - administrativos: "5", - total: "71", - }, - }, - // === 5. Servidores === - { - color: "#2563eb", - headerColor: "#1e40af", - rows: [ - { - tipo: "Xeon E3, E5, E7", - alumnos: "19", - profesores: "", - tecnicos: "", - investigadores: "16", - administrativos: "", - total: "35", - }, - { - tipo: "Xeon Bronce, Plata, Oro 6a generación", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "Xeon Phi", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - ], - total: { - alumnos: "19", - profesores: "0", - tecnicos: "0", - investigadores: "16", - administrativos: "2", - total: "37", - }, - }, - ]; - - return ( -
-
-

PREGUNTA 3 (1/5 - 5/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por plataforma y - tipo de procesador: * -

-

- Presione cada pestaña para ingresar la información. -

- - {/* === PESTAÑAS === */} -
- {tabs.map((tab, index) => ( -
setActiveTab(index)} - > - {tab} -
- ))} -
- - {/* === TABLA === */} -
- - - - - - - - - - - - - - - - - {data[activeTab].rows.map((item, i) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Tipo de procesador - - Población Beneficiada - - Total -
AlumnosProfesoresTécnicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {data[activeTab].total.total}
- - -
-
- -
- - ← Volver al inicio - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3/page3.css b/src/app/(Administrador)/pregunta3/page3.css deleted file mode 100644 index 1c0a843..0000000 --- a/src/app/(Administrador)/pregunta3/page3.css +++ /dev/null @@ -1,167 +0,0 @@ -/* === CONTENEDOR GENERAL === */ -.pregunta-page { - display: flex; - justify-content: center; - padding: 2rem; -} - -.pregunta-container { - width: 100%; - max-width: 1100px; -} - -.pregunta-titulo { - text-align: center; - color: #1e3a8a; - margin-bottom: 1.2rem; - font-size: 1.6rem; - font-weight: 700; -} - -.pregunta-texto { - font-size: 1rem; - font-weight: 500; - margin-bottom: 0.5rem; -} - -.pregunta-subtexto { - font-size: 0.9rem; - color: #6b7280; - margin-bottom: 1rem; -} - -/* === PESTAÑAS === */ -.tab-container { - display: flex; - overflow-x: auto; - border-bottom: 2px solid #e5e7eb; - margin-bottom: 1.5rem; -} - -.tab { - padding: 0.8rem 1.2rem; - cursor: pointer; - white-space: nowrap; - font-weight: 500; - border-radius: 8px 8px 0 0; - transition: all 0.2s ease; - margin-right: 0.25rem; -} - -.tab.active { - font-weight: 600; - background-color: #f3f4f6; -} - -.tab.inactive { - color: #6b7280; - background-color: #ffffff; -} - -.tab.inactive:hover { - background-color: #f9fafb; -} - -/* === TABLA === */ -.tabla-container { - overflow-x: auto; - position: relative; -} - -.tabla { - width: 100%; - border-collapse: collapse; - min-width: 950px; - font-size: 0.85rem; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); -} - -.tabla th { - padding: 0.7rem 0.5rem; - text-align: center; - color: white; - font-weight: 600; - border: 1px solid #d1d5db; -} - -.tabla .sub-header { - background-color: #9ca3af; -} - -.tabla td { - border: 1px solid #e5e7eb; - text-align: center; - vertical-align: middle; -} - -.tabla tr:hover td { - background-color: #f9fafb; -} - -.tipo-procesador { - text-align: left; - font-weight: 500; - padding: 0.6rem 0.5rem; - background-color: #f9fafb; - color: #374151; -} - -.tabla input[type="text"] { - width: 100%; - padding: 0.45rem 0.3rem; - border: none; - background-color: #f3f4f6; - text-align: center; - box-sizing: border-box; - color: #374151; -} - -.total-celda { - font-weight: 600; - color: #111827; - background-color: #eef2ff; -} - -.fila-total td { - background-color: #e0e7ff; - font-weight: 700; -} - -/* === BOTONES === */ -.boton-consultar { - margin-top: 1rem; - background-color: #10b981; - color: white; - padding: 0.6rem 1.2rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - box-shadow: 0 2px 5px rgba(16, 185, 129, 0.3); - transition: background-color 0.2s; - float: right; -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-contenedor { - margin-top: 4rem; - text-align: right; -} - -.boton.volver { - background-color: #2563eb; - color: white; - padding: 0.7rem 1.4rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; - box-shadow: 0 2px 5px rgba(37, 99, 235, 0.3); - transition: background-color 0.2s; -} - -.boton.volver:hover { - background-color: #1d4ed8; -} diff --git a/src/app/(Administrador)/pregunta3_1/page.tsx b/src/app/(Administrador)/pregunta3_1/page.tsx deleted file mode 100644 index e42253a..0000000 --- a/src/app/(Administrador)/pregunta3_1/page.tsx +++ /dev/null @@ -1,248 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page3.1.css"; - -export default function Pregunta3() { - const data = [ - { - tipo: "Core Ultra (i3, i5, i7) Serie 2", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core Ultra (i3, i5, i7) Serie 1", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i9 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (13a generación en adelante)", - alumnos: "15", - profesores: "16", - tecnicos: "", - investigadores: "", - administrativos: "52", - total: "97", - }, - { - tipo: "i7 o equivalentes (12a generación en adelante)", - alumnos: "29", - profesores: "16", - tecnicos: "", - investigadores: "", - administrativos: "52", - total: "97", - }, - { - tipo: "i5 o equivalentes (13a generación en adelante)", - alumnos: "107", - profesores: "3", - tecnicos: "", - investigadores: "", - administrativos: "8", - total: "118", - }, - { - tipo: "i5 o equivalentes (12a generación en adelante)", - alumnos: "250", - profesores: "59", - tecnicos: "3", - investigadores: "", - administrativos: "904", - total: "1216", - }, - { - tipo: "i3 o equivalentes (13a generación en adelante)", - alumnos: "3", - profesores: "1", - tecnicos: "", - investigadores: "", - administrativos: "12", - total: "16", - }, - { - tipo: "i3 o equivalentes (12a generación en adelante)", - alumnos: "36", - profesores: "19", - tecnicos: "2", - investigadores: "", - administrativos: "78", - total: "137", - }, - { - tipo: "i3 o equivalentes (11a generación en adelante)", - alumnos: "264", - profesores: "66", - tecnicos: "", - investigadores: "", - administrativos: "410", - total: "740", - }, - { - tipo: "Pentium Gold", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "Pentium Serie J, G", - alumnos: "2", - profesores: "3", - tecnicos: "", - investigadores: "", - administrativos: "3", - total: "8", - }, - { - tipo: "Celeron Dual Core, Pentium Dual Core o anteriores", - alumnos: "25", - profesores: "40", - tecnicos: "", - investigadores: "", - administrativos: "56", - total: "121", - }, - ]; - - const total = { - alumnos: "774", - profesores: "227", - tecnicos: "5", - investigadores: "0", - administrativos: "838", - total: "1844", - }; - - return ( -
-
-

PREGUNTA 3 (1/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por plataforma y - tipo de procesador: * -

-

- Presione cada pestaña para ingresar la información. -

- - {/* Pestañas */} -
-
- Computadoras de escritorio Plataforma PC -
-
- Computadoras de escritorio Plataforma Apple -
-
- Computadoras portátiles Plataforma PC -
-
- Computadoras portátiles Plataforma Apple -
-
Alto rendimiento Servidores
-
- - {/* Tabla */} -
- - - - - - - - - - - - - - - - - {data.map((item, i) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Plataforma PC
Tipo de procesador -
- Población Beneficiada - - Total -
AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {total.total}
- -
-
- -
- - Pregunta 3 (2/5) → - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3_1/page3.1.css b/src/app/(Administrador)/pregunta3_1/page3.1.css deleted file mode 100644 index 59fba05..0000000 --- a/src/app/(Administrador)/pregunta3_1/page3.1.css +++ /dev/null @@ -1,171 +0,0 @@ -/* === CONTENEDOR GENERAL === */ -.pregunta-page { - display: flex; - justify-content: center; - padding: 2rem 0; -} - -.pregunta-container { - width: 90%; - max-width: 1100px; - background-color: white; - padding: 1.5rem; - border-radius: 12px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); -} - -/* === TITULOS === */ -.pregunta-titulo { - text-align: center; - color: #0a2d6e; - margin-bottom: 1rem; - font-size: 1.6rem; - font-weight: 700; -} - -.pregunta-texto { - font-size: 1rem; - font-weight: 600; - margin-bottom: 0.2rem; - color: #1f2937; -} - -.pregunta-subtexto { - font-size: 0.9rem; - color: #6b7280; - margin-bottom: 1rem; -} - -/* === PESTAÑAS === */ -.tab-container { - display: flex; - border-bottom: 3px solid #d1d5db; - margin-bottom: 1rem; -} - -.tab { - padding: 0.6rem 1rem; - cursor: pointer; - font-weight: 600; - border-radius: 8px 8px 0 0; - margin-right: 0.25rem; - font-size: 0.9rem; -} - -.tab.active { - color: #1e40af; - border: 2px solid #1e40af; - border-bottom: none; - background-color: #f3f4f6; -} - -.tab.inactive { - color: #6b7280; - background-color: #fff; -} - -/* === TABLA === */ -.tabla-wrapper { - overflow-x: auto; - display: flex; - justify-content: center; -} - -.tabla-pc { - border-collapse: collapse; - width: 95%; - text-align: center; - font-size: 0.83rem; -} - -.tabla-pc th, -.tabla-pc td { - border: 1px solid #d1d5db; - padding: 0.4rem; -} - -.header-procesador, -.header-total { - background-color: #3b82f6; - color: white; - font-weight: 700; -} - -.header-poblacion { - background-color: #9333ea; - color: white; - font-weight: 700; -} - -.tabla-pc th { - text-align: center; -} - -.tipo-procesador { - text-align: left; - background-color: #f9fafb; - font-weight: 600; - padding-left: 0.5rem; -} - -.tabla-pc input { - width: 60px; - text-align: center; - border: none; - background-color: #f3f4f6; - border-radius: 4px; - padding: 0.2rem; - font-size: 0.8rem; - color: #111827; -} - -.total-celda { - background-color: #e0f2fe; - font-weight: 600; - color: #1e3a8a; -} - -.fila-total td { - background-color: #bfdbfe; - font-weight: 700; -} - -.fila-total .total-celda { - background-color: #93c5fd; -} - -/* === BOTONES === */ -.boton-consultar { - margin-top: 1rem; - background-color: #10b981; - color: white; - padding: 0.5rem 1rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - float: right; - box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3); -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-contenedor { - text-align: right; - margin-top: 4rem; -} - -.boton.siguiente { - background-color: #2563eb; - color: white; - padding: 0.6rem 1.2rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; -} - -.boton.siguiente:hover { - background-color: #1e3a8a; -} diff --git a/src/app/(Administrador)/pregunta3_2/page.tsx b/src/app/(Administrador)/pregunta3_2/page.tsx deleted file mode 100644 index 37d5445..0000000 --- a/src/app/(Administrador)/pregunta3_2/page.tsx +++ /dev/null @@ -1,270 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page3.2.css"; - -export default function Pregunta3_2() { - const data = [ - { - tipo: "Core Ultra (i3, i5, i7) Serie 2", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core Ultra (i3, i5, i7) Serie 1", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Familia M4", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "2", - total: "2", - }, - { - tipo: "Familia M3", - alumnos: "", - profesores: "1", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "2", - }, - { - tipo: "Familia M2", - alumnos: "", - profesores: "2", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "2", - }, - { - tipo: "Familia M1", - alumnos: "51", - profesores: "1", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "52", - }, - { - tipo: "i9 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "i5 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "i5 o equivalentes (12a generación en adelante)", - alumnos: "11", - profesores: "1", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "12", - }, - { - tipo: "i3 o equivalentes (13a generación en adelante)", - alumnos: "175", - profesores: "5", - tecnicos: "", - investigadores: "", - administrativos: "26", - total: "206", - }, - { - tipo: "i3 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "i3 o equivalentes (11a generación en adelante)", - alumnos: "", - profesores: "2", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "2", - }, - { - tipo: "Core2 Mac, Quad Core o anteriores", - alumnos: "12", - profesores: "3", - tecnicos: "3", - investigadores: "", - administrativos: "3", - total: "21", - }, - ]; - - const total = { - alumnos: "249", - profesores: "14", - tecnicos: "3", - investigadores: "0", - administrativos: "37", - total: "303", - }; - - return ( -
-
-

PREGUNTA 3 (2/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por plataforma y - tipo de procesador: * -

-

- Presione cada pestaña para ingresar la información. -

- - {/* === PESTAÑAS === */} -
-
- Computadoras de escritorio Plataforma PC -
-
- Computadoras de escritorio Plataforma Apple -
-
- Computadoras portátiles Plataforma PC -
-
- Computadoras portátiles Plataforma Apple -
-
Alto rendimiento Servidores
-
- - {/* === TABLA === */} -
- - - - - - - - - - - - - - - - - {data.map((item, index) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Plataforma Apple
Tipo de procesador -
- Población Beneficiada - - Total -
AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {total.total}
- -
-
- -
- - Pregunta 3 (3/5) → - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3_2/page3.2.css b/src/app/(Administrador)/pregunta3_2/page3.2.css deleted file mode 100644 index 20173f9..0000000 --- a/src/app/(Administrador)/pregunta3_2/page3.2.css +++ /dev/null @@ -1,170 +0,0 @@ -/* === ESTILOS PREGUNTA 3 (2/5) - Plataforma Apple === */ - -.pregunta-titulo { - text-align: center; - color: #7e22ce; - margin-bottom: 1.2rem; - font-size: 1.5rem; - font-weight: 700; -} - -.pregunta-texto { - font-size: 1rem; - font-weight: 500; - margin-bottom: 0.5rem; -} - -.pregunta-subtexto { - font-size: 0.9rem; - color: #6b7280; - margin-bottom: 1rem; -} - -/* === PESTAÑAS === */ -.tab-container { - display: flex; - overflow-x: auto; - border-bottom: 2px solid #e5e7eb; - margin-bottom: 1.5rem; -} - -.tab { - padding: 0.8rem 1.2rem; - cursor: pointer; - white-space: nowrap; - font-weight: 500; - border-radius: 8px 8px 0 0; - transition: all 0.2s ease; - margin-right: 0.25rem; -} - -.tab.active { - color: #7e22ce; - border-bottom: 3px solid #7e22ce; - background-color: #f3f4f6; -} - -.tab.inactive { - color: #6b7280; - background-color: #ffffff; -} - -.tab.inactive:hover { - color: #7e22ce; - background-color: #f9fafb; -} - -/* === TABLA === */ -.tabla-apple-container { - overflow-x: auto; - margin-bottom: 2rem; - position: relative; -} - -.tabla-apple { - width: 100%; - border-collapse: collapse; - min-width: 950px; - font-size: 0.85rem; -} - -.tabla-apple th { - padding: 0.7rem 0.5rem; - text-align: center; - color: white; - font-weight: 600; - border: 1px solid #d1d5db; -} - -.tabla-apple .header-procesador, -.tabla-apple .header-total { - background-color: #9333ea; -} - -.tabla-apple .header-poblacion { - background-color: #7e22ce; -} - -.tabla-apple .sub-header { - background-color: #a855f7; - color: white; -} - -.tabla-apple td { - border: 1px solid #e5e7eb; - text-align: center; - vertical-align: middle; -} - -.tabla-apple .tipo-procesador { - text-align: left; - font-weight: 500; - padding: 0.6rem 0.5rem; - background-color: #faf5ff; - color: #4b5563; -} - -.tabla-apple input[type="text"] { - width: 100%; - padding: 0.45rem 0.3rem; - border: none; - background-color: #f3f4f6; - text-align: center; - box-sizing: border-box; - color: #374151; -} - -.tabla-apple .total-celda { - background-color: #f3e8ff; - font-weight: 600; - color: #7e22ce; -} - -.tabla-apple .fila-total td { - background-color: #e9d5ff; - font-weight: 700; -} - -.tabla-apple .fila-total .total-celda { - background-color: #d8b4fe; -} - -/* === BOTONES === */ -.boton-consultar { - position: absolute; - bottom: -3.5rem; - right: 0; - background-color: #10b981; - color: white; - padding: 0.6rem 1.2rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - box-shadow: 0 2px 5px rgba(16, 185, 129, 0.3); - transition: background-color 0.2s; -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-contenedor { - margin-top: 5rem; - text-align: right; -} - -.boton.siguiente { - background-color: #9333ea; - color: white; - padding: 0.7rem 1.4rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; - box-shadow: 0 2px 5px rgba(147, 51, 234, 0.3); - transition: background-color 0.2s; -} - -.boton.siguiente:hover { - background-color: #7e22ce; -} diff --git a/src/app/(Administrador)/pregunta3_3/page.tsx b/src/app/(Administrador)/pregunta3_3/page.tsx deleted file mode 100644 index e74e421..0000000 --- a/src/app/(Administrador)/pregunta3_3/page.tsx +++ /dev/null @@ -1,271 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page3.3.css"; - -export default function Pregunta3_3() { - const data = [ - { - tipo: "Core Ultra (i3, i5, i7) Serie 2", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core Ultra (i3, i5, i7) Serie 1", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i9 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (12a generación en adelante)", - alumnos: "16", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "27", - total: "43", - }, - { - tipo: "i7 o equivalentes (11a generación)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "i5 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "1", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "2", - }, - { - tipo: "i5 o equivalentes (12a generación en adelante)", - alumnos: "146", - profesores: "34", - tecnicos: "", - investigadores: "", - administrativos: "42", - total: "222", - }, - { - tipo: "i5 o equivalentes (11a generación en adelante)", - alumnos: "", - profesores: "2", - tecnicos: "", - investigadores: "", - administrativos: "15", - total: "19", - }, - { - tipo: "i3 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "12", - total: "12", - }, - { - tipo: "i3 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "8", - tecnicos: "", - investigadores: "", - administrativos: "23", - total: "31", - }, - { - tipo: "i3 o equivalentes (11a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Pentium Dual Core o anteriores", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Celeron (equivalente 2018 hasta la fecha)", - alumnos: "299", - profesores: "8", - tecnicos: "", - investigadores: "", - administrativos: "4", - total: "311", - }, - { - tipo: "Celeron anteriores", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core2 Duo, Quad Core, Pentium Dual Core o anteriores", - alumnos: "4", - profesores: "4", - tecnicos: "", - investigadores: "", - administrativos: "3", - total: "11", - }, - ]; - - const total = { - alumnos: "445", - profesores: "132", - tecnicos: "0", - investigadores: "0", - administrativos: "139", - total: "716", - }; - - return ( -
-
-

PREGUNTA 3 (3/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por plataforma y - tipo de procesador: * -

-

- Presione cada pestaña para ingresar la información. -

- - {/* === PESTAÑAS === */} -
-
- Computadoras de escritorio Plataforma PC -
-
- Computadoras de escritorio Plataforma Apple -
-
- Computadoras portátiles Plataforma PC -
-
- Computadoras portátiles Plataforma Apple -
-
Alto rendimiento Servidores
-
- - {/* === TABLA === */} -
- - - - - - - - - - - - - - - - - - {data.map((item, index) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Plataforma PC
Tipo de procesador -
- Población Beneficiada - - Total -
AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {total.total}
- -
-
- -
- - Pregunta 3 (4/5) → - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3_3/page3.3.css b/src/app/(Administrador)/pregunta3_3/page3.3.css deleted file mode 100644 index 663c736..0000000 --- a/src/app/(Administrador)/pregunta3_3/page3.3.css +++ /dev/null @@ -1,170 +0,0 @@ -/* === ESTILOS PREGUNTA 3 (3/5) - Portátiles Plataforma PC === */ - -.pregunta-titulo { - text-align: center; - color: #dc2626; - margin-bottom: 1.2rem; - font-size: 1.5rem; - font-weight: 700; -} - -.pregunta-texto { - font-size: 1rem; - font-weight: 500; - margin-bottom: 0.5rem; -} - -.pregunta-subtexto { - font-size: 0.9rem; - color: #6b7280; - margin-bottom: 1rem; -} - -/* === PESTAÑAS === */ -.tab-container { - display: flex; - overflow-x: auto; - border-bottom: 2px solid #e5e7eb; - margin-bottom: 1.5rem; -} - -.tab { - padding: 0.8rem 1.2rem; - cursor: pointer; - white-space: nowrap; - font-weight: 500; - border-radius: 8px 8px 0 0; - transition: all 0.2s ease; - margin-right: 0.25rem; -} - -.tab.active { - color: #dc2626; - border-bottom: 3px solid #dc2626; - background-color: #fef2f2; -} - -.tab.inactive { - color: #6b7280; - background-color: #ffffff; -} - -.tab.inactive:hover { - color: #dc2626; - background-color: #f9fafb; -} - -/* === TABLA === */ -.tabla-pc-container { - overflow-x: auto; - margin-bottom: 2rem; - position: relative; -} - -.tabla-pc { - width: 100%; - border-collapse: collapse; - min-width: 950px; - font-size: 0.85rem; -} - -.tabla-pc th { - padding: 0.7rem 0.5rem; - text-align: center; - color: white; - font-weight: 600; - border: 1px solid #d1d5db; -} - -.tabla-pc .header-procesador, -.tabla-pc .header-total { - background-color: #b91c1c; -} - -.tabla-pc .header-poblacion { - background-color: #dc2626; -} - -.tabla-pc .sub-header { - background-color: #ef4444; - color: white; -} - -.tabla-pc td { - border: 1px solid #e5e7eb; - text-align: center; - vertical-align: middle; -} - -.tabla-pc .tipo-procesador { - text-align: left; - font-weight: 500; - padding: 0.6rem 0.5rem; - background-color: #fef2f2; - color: #4b5563; -} - -.tabla-pc input[type="text"] { - width: 100%; - padding: 0.45rem 0.3rem; - border: none; - background-color: #f3f4f6; - text-align: center; - box-sizing: border-box; - color: #374151; -} - -.tabla-pc .total-celda { - background-color: #fee2e2; - font-weight: 600; - color: #b91c1c; -} - -.tabla-pc .fila-total td { - background-color: #fecaca; - font-weight: 700; -} - -.tabla-pc .fila-total .total-celda { - background-color: #fca5a5; -} - -/* === BOTONES === */ -.boton-consultar { - position: absolute; - bottom: -3.5rem; - right: 0; - background-color: #10b981; - color: white; - padding: 0.6rem 1.2rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - box-shadow: 0 2px 5px rgba(16, 185, 129, 0.3); - transition: background-color 0.2s; -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-contenedor { - margin-top: 5rem; - text-align: right; -} - -.boton.siguiente { - background-color: #b91c1c; - color: white; - padding: 0.7rem 1.4rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; - box-shadow: 0 2px 5px rgba(220, 38, 38, 0.3); - transition: background-color 0.2s; -} - -.boton.siguiente:hover { - background-color: #dc2626; -} diff --git a/src/app/(Administrador)/pregunta3_4/page.tsx b/src/app/(Administrador)/pregunta3_4/page.tsx deleted file mode 100644 index 7c5c13f..0000000 --- a/src/app/(Administrador)/pregunta3_4/page.tsx +++ /dev/null @@ -1,257 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page3.4.css"; - -export default function Pregunta3_4() { - const data = [ - { - tipo: "Core Ultra (i3, i5, i7) Serie 2", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Core Ultra (i3, i5, i7) Serie 1", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Familia M4", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Familia M3", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Familia M2", - alumnos: "35", - profesores: "3", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "38", - }, - { - tipo: "Familia M1", - alumnos: "", - profesores: "5", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "6", - }, - { - tipo: "i9 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i7 o equivalentes (11a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i5 o equivalentes (13a generación en adelante)", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "i5 o equivalentes (12a generación en adelante)", - alumnos: "", - profesores: "14", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "14", - }, - { - tipo: "i5 o equivalentes (11a generación en adelante)", - alumnos: "", - profesores: "9", - tecnicos: "", - investigadores: "", - administrativos: "4", - total: "13", - }, - { - tipo: "Core2 Mac, Quad Core o anteriores", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - ]; - - const total = { - alumnos: "35", - profesores: "31", - tecnicos: "0", - investigadores: "0", - administrativos: "5", - total: "71", - }; - - return ( -
-

PREGUNTA 3 (4/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por - plataforma y tipo de procesador: -

- - Presione cada pestaña para ingresar la información. - -
- - {/* === PESTAÑAS === */} -
- - - - - -
- - {/* === TABLA === */} -
- - - - - - - - - - - - - - - - - - {data.map((item, index) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Plataforma Apple
Tipo de procesador -
- Población Beneficiada - - Total -
AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {total.total}
- - -
- -
- - Pregunta 3 (5/5) → - -
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3_4/page3.4.css b/src/app/(Administrador)/pregunta3_4/page3.4.css deleted file mode 100644 index 1f94b1f..0000000 --- a/src/app/(Administrador)/pregunta3_4/page3.4.css +++ /dev/null @@ -1,166 +0,0 @@ -/* === CONTENEDOR GENERAL === */ -.pregunta3-container { - max-width: 1100px; - margin: 2rem auto; - padding: 2rem; - background: #fff; - border-radius: 16px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); - font-family: "Inter", sans-serif; -} - -.pregunta3-titulo { - text-align: left; - font-size: 1.3rem; - font-weight: 700; - color: #6d28d9; - margin-bottom: 1rem; -} - -.pregunta3-descripcion p { - font-size: 1rem; - margin-bottom: 0.3rem; -} - -.subtexto { - font-size: 0.9rem; - color: #6b7280; -} - -/* === TABS === */ -.tabs { - display: flex; - flex-wrap: wrap; - margin: 1rem 0 1.5rem; - border-bottom: 2px solid #e5e7eb; -} - -.tab { - padding: 0.8rem 1.1rem; - font-size: 0.9rem; - border: none; - cursor: pointer; - background: #fff; - color: #6b7280; - transition: all 0.2s ease; - border-radius: 8px 8px 0 0; - margin-right: 0.25rem; -} - -.tab.active { - background: #f3f4f6; - color: #7e22ce; - border-bottom: 3px solid #9333ea; -} - -.tab.inactive:hover { - background: #f9fafb; - color: #9333ea; -} - -/* === TABLA === */ -.tabla-wrapper { - overflow-x: auto; - position: relative; - margin-bottom: 2.5rem; -} - -.tabla-pregunta3 { - width: 100%; - border-collapse: collapse; - min-width: 950px; - font-size: 0.85rem; -} - -.tabla-pregunta3 th, -.tabla-pregunta3 td { - border: 1px solid #e5e7eb; - text-align: center; - padding: 0.5rem; -} - -.header-procesador, -.header-total { - background-color: #9333ea; - color: #fff; - font-weight: 600; -} - -.header-poblacion { - background-color: #7e22ce; - color: #fff; - font-weight: 600; -} - -.tabla-pregunta3 th { - padding: 0.7rem; -} - -.tabla-pregunta3 input { - width: 100%; - padding: 0.4rem; - border: none; - background-color: #f3f4f6; - text-align: center; - font-size: 0.85rem; -} - -.tipo-procesador { - text-align: left; - background-color: #faf5ff; - font-weight: 500; - color: #4b5563; -} - -.celda-total { - background-color: #f3e8ff; - font-weight: 600; - color: #6b21a8; -} - -.fila-total td { - background-color: #e9d5ff; - font-weight: 700; -} - -.fila-total .celda-total.final { - background-color: #d8b4fe; -} - -/* === BOTONES === */ -.boton-consultar { - position: absolute; - bottom: -3rem; - right: 0; - background-color: #10b981; - color: white; - padding: 0.6rem 1.1rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - transition: all 0.2s; -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-siguiente { - text-align: right; - margin-top: 4rem; -} - -.next { - background-color: #9333ea; - color: white; - padding: 0.7rem 1.4rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; - transition: 0.2s; -} - -.next:hover { - background-color: #7e22ce; -} diff --git a/src/app/(Administrador)/pregunta3_5/page.tsx b/src/app/(Administrador)/pregunta3_5/page.tsx deleted file mode 100644 index 4bc0f71..0000000 --- a/src/app/(Administrador)/pregunta3_5/page.tsx +++ /dev/null @@ -1,209 +0,0 @@ -"use client"; - -import React from "react"; -import Link from "next/link"; -import "./page3.5.css"; - -export default function Pregunta3_5() { - const data = [ - { - tipo: "Xeon 6", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Xeon Bronce, Plata, Oro 3a generación", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Xeon Bronce, Plata, Oro 4a generación", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Xeon Bronce, Plata, Oro 5a generación", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - { - tipo: "Xeon Bronce, Plata, Oro 6a generación", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "Xeon E3, E5, E7", - alumnos: "19", - profesores: "", - tecnicos: "", - investigadores: "16", - administrativos: "", - total: "35", - }, - { - tipo: "Xeon Phi", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "1", - total: "1", - }, - { - tipo: "Xeon o anteriores", - alumnos: "", - profesores: "", - tecnicos: "", - investigadores: "", - administrativos: "", - total: "0", - }, - ]; - - const total = { - alumnos: "19", - profesores: "0", - tecnicos: "0", - investigadores: "16", - administrativos: "2", - total: "37", - }; - - return ( -
-
-

PREGUNTA 3 (5/5)

- -
-

- 3. Desglose la cantidad de población beneficiada por plataforma y - tipo de procesador: * -

-

- Presione cada pestaña para ingresar la información. -

- - {/* === PESTAÑAS === */} -
-
- Computadoras de escritorio Plataforma PC -
-
- Computadoras de escritorio Plataforma Apple -
-
- Computadoras portátiles Plataforma PC -
-
- Computadoras portátiles Plataforma Apple -
-
Alto rendimiento Servidores
-
- - {/* === TABLA === */} -
- - - - - - - - - - - - - - - - - - {data.map((item, index) => ( - - - - - - - - - - ))} - - - - - - - - - - -
- Servidores
Tipo de procesador -
- Población Beneficiada - - Total -
AlumnosProfesoresTécnicos AcadémicosInvestigadoresAdministrativos
{item.tipo} - - - - - - - - - - {item.total}
Total - - - - - - - - - - {total.total}
- - -
-
- -
- - ← Volver al inicio - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta3_5/page3.5.css b/src/app/(Administrador)/pregunta3_5/page3.5.css deleted file mode 100644 index efbc42d..0000000 --- a/src/app/(Administrador)/pregunta3_5/page3.5.css +++ /dev/null @@ -1,201 +0,0 @@ -/* === ESTILOS PREGUNTA 3 (5/5) - Alto Rendimiento Servidores === */ - -.pregunta-page { - display: flex; - justify-content: center; - padding: 2rem 1rem; - background-color: #f9fafb; -} - -.pregunta-container { - width: 100%; - max-width: 1100px; - background-color: #ffffff; - border-radius: 12px; - padding: 2rem 2.5rem; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); -} - -.pregunta-titulo { - text-align: center; - color: #2563eb; - margin-bottom: 1.5rem; - font-size: 1.6rem; - font-weight: 700; - border-bottom: 3px solid #2563eb; - display: inline-block; - padding-bottom: 0.3rem; -} - -.pregunta-texto { - font-size: 1rem; - font-weight: 500; - margin-bottom: 0.5rem; - color: #1f2937; -} - -.pregunta-subtexto { - font-size: 0.9rem; - color: #6b7280; - margin-bottom: 1.2rem; -} - -/* === PESTAÑAS === */ -.tab-container { - display: flex; - overflow-x: auto; - border-bottom: 2px solid #e5e7eb; - margin-bottom: 1.5rem; -} - -.tab { - padding: 0.8rem 1.2rem; - cursor: pointer; - white-space: nowrap; - font-weight: 500; - border-radius: 8px 8px 0 0; - transition: all 0.2s ease; - margin-right: 0.25rem; -} - -.tab.active { - color: #2563eb; - border-bottom: 3px solid #2563eb; - background-color: #f3f4f6; - box-shadow: inset 0 -2px 4px rgba(37, 99, 235, 0.1); -} - -.tab.inactive { - color: #6b7280; - background-color: #ffffff; -} - -.tab.inactive:hover { - color: #2563eb; - background-color: #f9fafb; -} - -/* === TABLA === */ -.tabla-servidores-container { - overflow-x: auto; - margin-bottom: 3rem; - position: relative; -} - -.tabla-servidores { - width: 100%; - border-collapse: collapse; - min-width: 950px; - font-size: 0.85rem; - border-radius: 10px; - overflow: hidden; - box-shadow: 0 2px 6px rgba(37, 99, 235, 0.08); -} - -.tabla-servidores th { - padding: 0.7rem 0.5rem; - text-align: center; - color: white; - font-weight: 600; - border: 1px solid #d1d5db; -} - -.tabla-servidores .header-procesador, -.tabla-servidores .header-total { - background-color: #2563eb; -} - -.tabla-servidores .header-poblacion { - background-color: #1e40af; -} - -.tabla-servidores .sub-header { - background-color: #3b82f6; - color: white; -} - -.tabla-servidores td { - border: 1px solid #e5e7eb; - text-align: center; - vertical-align: middle; - background-color: #ffffff; - transition: background-color 0.2s; -} - -.tabla-fila:hover td { - background-color: #f3f4f6; -} - -.tabla-servidores .tipo-procesador { - text-align: left; - font-weight: 500; - padding: 0.6rem 0.7rem; - background-color: #eff6ff; - color: #374151; -} - -.tabla-servidores input[type="text"] { - width: 100%; - padding: 0.45rem 0.3rem; - border: none; - background-color: #f9fafb; - text-align: center; - color: #374151; - border-radius: 4px; - font-weight: 500; -} - -.tabla-servidores .total-celda { - background-color: #dbeafe; - font-weight: 600; - color: #1d4ed8; -} - -.tabla-servidores .fila-total td { - background-color: #bfdbfe; - font-weight: 700; -} - -.tabla-servidores .fila-total .total-celda { - background-color: #93c5fd; -} - -/* === BOTONES === */ -.boton-consultar { - position: absolute; - bottom: -3.5rem; - right: 0; - background-color: #10b981; - color: white; - padding: 0.6rem 1.2rem; - border: none; - border-radius: 8px; - font-size: 0.9rem; - cursor: pointer; - box-shadow: 0 2px 5px rgba(16, 185, 129, 0.3); - transition: background-color 0.2s; -} - -.boton-consultar:hover { - background-color: #059669; -} - -.boton-contenedor { - margin-top: 5rem; - text-align: right; -} - -.boton.volver { - background-color: #2563eb; - color: white; - padding: 0.7rem 1.4rem; - border-radius: 8px; - text-decoration: none; - font-weight: 500; - box-shadow: 0 2px 5px rgba(37, 99, 235, 0.3); - transition: background-color 0.2s; -} - -.boton.volver:hover { - background-color: #1d4ed8; -} diff --git a/src/app/(Administrador)/pregunta4EP/page.tsx b/src/app/(Administrador)/pregunta4EP/page.tsx deleted file mode 100644 index 79f2c3b..0000000 --- a/src/app/(Administrador)/pregunta4EP/page.tsx +++ /dev/null @@ -1,105 +0,0 @@ -"use client"; -import React, { useState, useEffect } from "react"; -import "../../styles/layout/pregunta4EP.scss"; - -interface EquiposDigitalizacion { - digitalizadorCamaPlana: string; - digitalizador3d: string; - digitalizadorAlimentador: string; - digitalizadorGranVolumen: string; -} - -export default function Pregunta4EPPage() { - const [equipos, setEquipos] = useState({ - digitalizadorCamaPlana: "27", - digitalizador3d: "", - digitalizadorAlimentador: "108", - digitalizadorGranVolumen: "1", - }); - - // 🔹 Preparado para conectar con el backend - useEffect(() => { - // Cuando tengas la API, descomenta y reemplaza la URL: - /* - fetch("https://tu-api-backend.com/api/equipos-digitalizacion") - .then((res) => res.json()) - .then((data) => setEquipos(data)) - .catch((err) => console.error("Error al obtener datos:", err)); - */ - }, []); - - const handleChange = (e: React.ChangeEvent) => { - const { name, value } = e.target; - setEquipos({ - ...equipos, - [name]: value, - }); - }; - - return ( -
- -
- Censo de equipos periféricos - Equipo de digitalización -
- -
- 7. Calcule porcentualmente (%) la antiguedad que tienen los equipos - periféricos del área universitaria. * (Requerido en el caso de contar - con Equipo de impresión o digitalización.) -
- -
-
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta5EP/page.tsx b/src/app/(Administrador)/pregunta5EP/page.tsx deleted file mode 100644 index db90668..0000000 --- a/src/app/(Administrador)/pregunta5EP/page.tsx +++ /dev/null @@ -1,55 +0,0 @@ -"use client"; -import "../../styles/layout/pregunta5EP.scss"; - -export default function Pregunta5EP() { - return ( -
-
- Indique el número de equipos de digitalización de acuerdo con la - población universitaria al que se destina su uso primordialmente. - * - (Requerido en el caso de contar con Equipo de digitalización) -
- -
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta7/page.tsx b/src/app/(Administrador)/pregunta7/page.tsx deleted file mode 100644 index b0b176d..0000000 --- a/src/app/(Administrador)/pregunta7/page.tsx +++ /dev/null @@ -1,89 +0,0 @@ -"use client"; -import React, { useState } from "react"; -import "./pregunta7.css"; - -export default function Pregunta7() { - const [datos, setDatos] = useState([ - { nombre: "Impresión", valores: ["", "", "", ""] }, - { nombre: "Digitalización", valores: ["", "", "", ""] }, - ]); - - const [garantia, setGarantia] = useState({ - escritorio: "", - portatil: "", - altoRendimiento: "", - }); - - // Función para actualizar datos de Pregunta 7 - const handleChange = (filaIndex: number, colIndex: number, value: string) => { - const nuevosDatos = [...datos]; - nuevosDatos[filaIndex].valores[colIndex] = value; - setDatos(nuevosDatos); - }; - - // Función para calcular total de cada fila en Pregunta 7 - const calcularTotal = (valores: string[]) => - valores.reduce((acc, val) => acc + (Number(val) || 0), 0); - - return ( -
- {/* Pregunta 7 */} -
- Censo de equipos periféricos - Estado del equipo periférico (impresión y - digitalización.) -
- -
- 7. Calcule porcentualmente (%) la antiguedad que tienen los equipos - periféricos del área universitaria. * (Requerido en el caso de contar - con Equipo de impresión o digitalización.) -
- -
- - - - - - - - - - - - - {datos.map((fila, filaIndex) => { - const total = calcularTotal(fila.valores); - return ( - - - {fila.valores.map((valor, colIndex) => ( - - ))} - - - ); - })} - -
% Antiguedad de los equiposMenor a 2 añosEntre 2 y 3 añosEntre 4 y 5 añosMayor a 6 añosTotal
{fila.nombre} -
- - handleChange(filaIndex, colIndex, e.target.value) - } - /> - % -
-
100 ? "total-error" : "" - }`} - > - {total.toFixed(2)}% -
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta7/pregunta7.css b/src/app/(Administrador)/pregunta7/pregunta7.css deleted file mode 100644 index 7441c2d..0000000 --- a/src/app/(Administrador)/pregunta7/pregunta7.css +++ /dev/null @@ -1,134 +0,0 @@ -.contenedor-pregunta { - font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; -} - -.contenedor-censo{ - background-color: #002855; - color: white; - padding: 15px; - font-size: 16px; - margin-bottom: 25px; -} - - -.pregunta-cuadro { - border-left: 6px solid #001f3f; - padding: 15px; - border-radius: 8px; - font-size: 16px; - margin-bottom: 25px; -} - - -.tabla-contenedor { - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - overflow-x: auto; -} - -/* Tabla */ -.tabla { - width: 100%; - border-collapse: collapse; - text-align: center; - color: black; -} - -.tabla th, -.tabla td { - border: 1px solid #ddd; - padding: 12px; - -} - -.tabla th { - color: white; - font-weight: 600; - font-size: 15px; -} - -.tabla td { - font-size: 14px; -} - -/* Colores personalizados */ -.azul-marino { - background-color: #002855; - color: white; -} - -.rosa-fuerte { - background-color: #dc1557; - color: white; -} - -/* Contenedor input */ -.input-contenedor { - position: relative; - display: flex; - justify-content: center; - align-items: center; - height: 100%; -} - -/* Input */ -.input-contenedor input { - width: 40%; - padding: 6px 6px 6px 6px; - border: 2px solid #002855; - border-radius: 6px; - font-size: 14px; - color: #333; - text-align: center; - outline: none; - background-color: rgb(232, 226, 226); - box-sizing: border-box; -} - - -.input-contenedor input::-webkit-inner-spin-button, -.input-contenedor input::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -/* Focus del input */ -.input-contenedor input:focus { - border-color: #001f3f; - box-shadow: 0 0 6px rgba(0, 47, 95, 0.3); -} - -/* Placeholder gris claro */ -.input-contenedor input::placeholder { - color: #bbb; - opacity: 1; -} - - -.input-contenedor .porcentaje { - position: absolute; - - right: 8px; - color: #555; - font-weight: bold; - pointer-events: none; - font-size: 14px; - top: 50%; - transform: translateY(-50%); -} - -/* Celda del total */ -.total-celda { - font-weight: bold; - color: #002855; - background-color: #eef2f6; -} - -/* Total > 100% */ -.total-error { - background-color: #ffcccc; - color: #a80000; -} - diff --git a/src/app/(Administrador)/pregunta7_1/pregunta7.css b/src/app/(Administrador)/pregunta7_1/pregunta7.css deleted file mode 100644 index 1006c85..0000000 --- a/src/app/(Administrador)/pregunta7_1/pregunta7.css +++ /dev/null @@ -1,131 +0,0 @@ -.contenedor-pregunta { - font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; -} - -.contenedor-censo{ -background-color: #001f3f; -color: white; -} - - -.pregunta-cuadro { - border-left: 6px solid #001f3f; - padding: 15px; - border-radius: 8px; - font-size: 16px; - margin-bottom: 25px; -} - - -.tabla-contenedor { - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - overflow-x: auto; -} - -/* Tabla */ -.tabla { - width: 100%; - border-collapse: collapse; - text-align: center; - color: black; -} - -.tabla th, -.tabla td { - border: 1px solid #ddd; - padding: 12px; - -} - -.tabla th { - color: white; - font-weight: 600; - font-size: 15px; -} - -.tabla td { - font-size: 14px; -} - -/* Colores personalizados */ -.azul-marino { - background-color: #002855; - color: white; -} - -.rosa-fuerte { - background-color: #dc1557; - color: white; -} - -/* Contenedor input */ -.input-contenedor { - position: relative; - display: flex; - justify-content: center; - align-items: center; - height: 100%; -} - -/* Input */ -.input-contenedor input { - width: 40%; - padding: 6px 6px 6px 6px; - border: 2px solid #002855; - border-radius: 6px; - font-size: 14px; - color: #333; - text-align: center; - outline: none; - background-color: rgb(232, 226, 226); - box-sizing: border-box; -} - - -.input-contenedor input::-webkit-inner-spin-button, -.input-contenedor input::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -/* Focus del input */ -.input-contenedor input:focus { - border-color: #001f3f; - box-shadow: 0 0 6px rgba(0, 47, 95, 0.3); -} - -/* Placeholder gris claro */ -.input-contenedor input::placeholder { - color: #bbb; - opacity: 1; -} - - -.input-contenedor .porcentaje { - position: absolute; - - right: 8px; - color: #555; - font-weight: bold; - pointer-events: none; - font-size: 14px; - top: 50%; - transform: translateY(-50%); -} - -/* Celda del total */ -.total-celda { - font-weight: bold; - color: #002855; - background-color: #eef2f6; -} - -/* Total > 100% */ -.total-error { - background-color: #ffcccc; - color: #a80000; -} - diff --git a/src/app/(Administrador)/pregunta9/page.tsx b/src/app/(Administrador)/pregunta9/page.tsx deleted file mode 100644 index 5b2ecdf..0000000 --- a/src/app/(Administrador)/pregunta9/page.tsx +++ /dev/null @@ -1,142 +0,0 @@ -"use client"; -import React, { useState } from "react"; -import "./pregunta9.css"; - -export default function Pregunta9() { - - const [datos, setDatos] = useState([ - { nombre: "Computadoras de Escritorio", valores: ["", "", "", ""] }, - { nombre: "Computadoras Portátiles", valores: ["", "", "", ""] }, - { nombre: "Alto Rendimiento", valores: ["", "", "", ""] }, - ]); - - - const [garantia, setGarantia] = useState({ - escritorio: "", - portatil: "", - altoRendimiento: "", - }); - - // Función para actualizar datos de Pregunta 9 - const handleChange = (filaIndex: number, colIndex: number, value: string) => { - const nuevosDatos = [...datos]; - nuevosDatos[filaIndex].valores[colIndex] = value; - setDatos(nuevosDatos); - }; - - // Función para calcular total de cada fila en Pregunta 9 - const calcularTotal = (valores: string[]) => - valores.reduce((acc, val) => acc + (Number(val) || 0), 0); - - return ( -
- {/* Pregunta 9 */} - - -
- 9. Calcule porcentualmente (%) la antigüedad que tienen los equipos de - cómputo del área universitaria. * -
- -
- - - - - - - - - - - - - {datos.map((fila, filaIndex) => { - const total = calcularTotal(fila.valores); - return ( - - - {fila.valores.map((valor, colIndex) => ( - - ))} - - - ); - })} - -
% Antiguedad de los equiposMenor a 2 añosEntre 2 y 3 añosEntre 4 y 5 añosMayor a 6 añosTotal
{fila.nombre} -
- - handleChange(filaIndex, colIndex, e.target.value) - } - /> - % -
-
100 ? "total-error" : "" - }`} - > - {total.toFixed(2)}% -
-
- - {/* Pregunta 10 */} -
- 10. ¿Cuántos equipos de cómputo tienen garantía de proveedor?. * -
- -
- - - - - - - - - - - - - - - -
Computadoras de Escritorio (247)Computadoras Portátiles (767)Alto Rendimiento (17)
-
- - setGarantia({ ...garantia, escritorio: e.target.value }) - } - /> -
-
-
- - setGarantia({ ...garantia, portatil: e.target.value }) - } - /> -
-
-
- - setGarantia({ ...garantia, altoRendimiento: e.target.value }) - } - /> -
-
-
-
- ); -} diff --git a/src/app/(Administrador)/pregunta9/pregunta1.css b/src/app/(Administrador)/pregunta9/pregunta1.css deleted file mode 100644 index 6ff6bc5..0000000 --- a/src/app/(Administrador)/pregunta9/pregunta1.css +++ /dev/null @@ -1,131 +0,0 @@ -.contenedor-pregunta { - background-color: #f9fafc; -} - - -.pregunta-cuadro { - border-left: 6px solid #001f3f; - padding: 15px; - border-radius: 8px; - font-size: 16px; - margin-bottom: 25px; -} - - -.tabla-contenedor { - background: white; - padding: 20px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - overflow-x: auto; -} - -/* Tabla */ -.tabla { - width: 100%; - border-collapse: collapse; - text-align: center; - color: black; -} - -.tabla th, -.tabla td { - border: 1px solid #ddd; - padding: 12px; - -} - -.tabla th { - color: white; - font-weight: 600; - font-size: 15px; -} - -.tabla td { - font-size: 14px; -} - -/* Colores personalizados */ -.azul-marino { - background-color: #002855; - color: white; -} - -.rosa-fuerte { - background-color: #dc1557; - color: white; -} - -/* Contenedor input */ -.input-contenedor { - position: relative; - display: flex; - justify-content: center; - align-items: center; - height: 100%; -} - -/* Input */ -.input-contenedor input { - width: 40%; - padding: 6px 6px 6px 6px; - border: 2px solid #002855; - border-radius: 6px; - font-size: 14px; - color: #333; - text-align: center; - outline: none; - background-color: rgb(232, 226, 226); - box-sizing: border-box; -} - - -.input-contenedor input::-webkit-inner-spin-button, -.input-contenedor input::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -/* Focus del input */ -.input-contenedor input:focus { - border-color: #001f3f; - box-shadow: 0 0 6px rgba(0, 47, 95, 0.3); -} - -/* Placeholder gris claro */ -.input-contenedor input::placeholder { - color: #bbb; - opacity: 1; -} - - -.input-contenedor .porcentaje { - position: absolute; - - right: 8px; - color: #555; - font-weight: bold; - pointer-events: none; - font-size: 14px; - top: 50%; - transform: translateY(-50%); -} - -/* Celda del total */ -.total-celda { - font-weight: bold; - color: #002855; - background-color: #eef2f6; -} - -/* Total > 100% */ -.total-error { - background-color: #ffcccc; - color: #a80000; -} - - -.input-sp input { - width: 38%; - padding: 6px 6px 6px 6px; -} diff --git a/src/app/(Administrador)/reporteNOValido/page.tsx b/src/app/(Administrador)/reporteNOValido/page.tsx deleted file mode 100644 index 6cf87c7..0000000 --- a/src/app/(Administrador)/reporteNOValido/page.tsx +++ /dev/null @@ -1,93 +0,0 @@ -"use client"; -import { useState } from "react"; -import "./reporte.css"; -import axios from "axios"; -import Pregunta9 from "../pregunta9/page"; -export default function Page() { - const [report, setReport] = useState(); - - async function Report() { - const res = await axios.get("https"); - setReport(res.data); - } - - return ( -
- {/* Panel izquierdo: título, buscador y tabla */} -
-
-

REPORTE

-
- -
- - -
- -
- {/* Aquí irá tu tabla real */} -

Tabla de equipos...

-
-
- - {/* Panel derecho: filtros + botón descargar */} -
-
-
-

Filtro

-
- - - - - - - - - - - - - -
- - -
- -
- - -
- -
- ); -} diff --git a/src/app/(Administrador)/reporteNOValido/reporte.css b/src/app/(Administrador)/reporteNOValido/reporte.css deleted file mode 100644 index 3bd0b48..0000000 --- a/src/app/(Administrador)/reporteNOValido/reporte.css +++ /dev/null @@ -1,169 +0,0 @@ -/* Contenedor principal del reporte */ -.reporte-layout { - display: flex; - flex-wrap: wrap; - gap: 50px; - padding: 20px; - max-width: 1400px; - margin: 0 20px; -} - -/* Panel izquierdo: contenedor + tabla */ -.panel-izquierdo { - flex: 1; - min-width: 300px; /* evita que se colapse demasiado en móviles */ -} - -/* Panel derecho: filtro */ -.panel-derecho { - width: 320px; /* ancho fijo razonable para filtros */ - min-width: 280px; -} - -.titulo-reporte { - font-weight: bold; - font-size: 24px; - text-align: center; - margin-bottom: 15px; - color: #0056b3; -} - -/* Buscador */ -form[action="/buscar"] { - display: flex; - gap: 10px; - margin-bottom: 20px; - align-items: center; - flex-wrap: wrap; -} - -form[action="/buscar"] input { - padding: 8px 12px; - border: 1px solid #ccc; - border-radius: 5px; - font-size: 16px; - flex: 1; - min-width: 200px; -} - -form[action="/buscar"] button { - background-color: #0056b3; - color: white; - border: none; - padding: 8px 16px; - border-radius: 5px; - cursor: pointer; - font-size: 16px; -} - -form[action="/buscar"] button:hover { - background-color: #0056b3; -} - -/* Tabla de reporte */ -.tabla-rec { - border: 2px solid #0056b3; - border-radius: 10px; - padding: 15px; - background-color: #f9f9f9; - min-height: 400px; - width: 100%; - box-sizing: border-box; -} - -/* Filtro */ -.filtro-rec { - border: 2px solid #0056b3; - border-radius: 10px; - padding: 15px; - background-color: #f9f9f9; - font-family: Arial, sans-serif; - width: 100%; - box-sizing: border-box; -} - -.filtro-rec .titulo-rec { - font-weight: bold; - margin-top: 0; - margin-bottom: 10px; - color: #0056b3; -} - -.filtro-rec label { - display: block; - margin-top: 12px; - font-weight: bold; - font-size: 14px; -} - -.filtro-rec select { - width: 100%; - padding: 8px; - margin-top: 4px; - border: 1px solid #0056b3; - border-radius: 5px; - font-size: 14px; -} - -/* Botones del filtro */ -.botones-filtro { - display: flex; - gap: 10px; - margin-top: 20px; -} - -.botones-filtro .aplicar, -.botones-filtro .limpiar { - flex: 1; - padding: 8px; - border: none; - border-radius: 4px; - color: white; - font-size: 14px; - cursor: pointer; -} - -.botones-filtro .aplicar { - background-color: #0056b3; -} - -.botones-filtro .limpiar { - background-color: #ffb700; - color: #0056b3; - font-weight: bold; -} - -/* Botón descargar */ -.boton-descargar { - margin-top: 25px; - padding: 10px 20px; - font-size: 16px; - border: none; - background-color: #0056b3; - color: white; - border-radius: 4px; - cursor: pointer; - width: 100%; -} - -/* Responsive: en pantallas pequeñas (iPad portrait, etc.) */ -@media (max-width: 768px) { - .reporte-layout { - flex-direction: column; - align-items: center; - } - - .panel-derecho { - width: 100%; - max-width: 500px; - } - - .panel-izquierdo { - width: 100%; - max-width: 500px; - } - - .boton-descargar { - max-width: 500px; - } -} diff --git a/src/app/NotFound.css b/src/app/NotFound.css index 87dfe28..61d0029 100644 --- a/src/app/NotFound.css +++ b/src/app/NotFound.css @@ -1,5 +1,4 @@ .notfound { - height: 100vh; display: flex; flex-direction: column; justify-content: center; diff --git a/src/app/login/Login.tsx b/src/app/login/Login.tsx index 58124ae..cb75a5d 100644 --- a/src/app/login/Login.tsx +++ b/src/app/login/Login.tsx @@ -7,6 +7,7 @@ import Image from "next/image"; import axios from "axios"; import { useRouter } from "next/navigation"; import toast from "react-hot-toast"; +import { jwtDecode } from "jwt-decode"; export default function Login() { const [nombre, setNombre] = useState(""); @@ -31,7 +32,18 @@ export default function Login() { const { token } = response.data; document.cookie = `token=${token}; path=/; SameSite=Strict`; - router.push("/escaner"); + + const decoded: any = jwtDecode(token); + const tipo = decoded?.tipoUsuario; + + if (tipo === 2) { + router.push("/escaner"); + } else if (tipo === 1) { + router.push("/equipoComputo"); + } else { + toast.error("Tipo de usuario no válido"); + } + } catch (err) { if (axios.isAxiosError(err)) { if (err.response) { @@ -79,9 +91,6 @@ export default function Login() { - - {/* Olvidaste Contraseña? */} - {/* Crear Cuenta */} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index 1822d74..e3070e8 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -14,7 +14,7 @@ export default function NotFound() { Lo sentimos, la página que buscas no existe o ha sido movida. Verifica la URL o regresa a la página principal.

- diff --git a/src/app/styles/layout/BarNavigation.scss b/src/app/styles/layout/BarNavigation.scss index 2291f9b..a001dfd 100644 --- a/src/app/styles/layout/BarNavigation.scss +++ b/src/app/styles/layout/BarNavigation.scss @@ -21,7 +21,7 @@ cursor: pointer; width: auto; transition: background-color 0.3s ease; - font-size: 1.5rem; + font-size: 1rem; } .menuToggle { @@ -88,7 +88,7 @@ align-items: center; justify-content: center; color: #383838; - font-size: 2rem; + font-size: 1.5rem; } .links { @@ -152,6 +152,7 @@ left: 0; display: flex; width: 100vw; + z-index: 3; } .barNavigation li:hover { diff --git a/src/app/styles/layout/BarNavigationAdmin.scss b/src/app/styles/layout/BarNavigationAdmin.scss index 2291f9b..7213c37 100644 --- a/src/app/styles/layout/BarNavigationAdmin.scss +++ b/src/app/styles/layout/BarNavigationAdmin.scss @@ -21,7 +21,7 @@ cursor: pointer; width: auto; transition: background-color 0.3s ease; - font-size: 1.5rem; + font-size: 1rem; } .menuToggle { @@ -88,7 +88,7 @@ align-items: center; justify-content: center; color: #383838; - font-size: 2rem; + font-size: 1.5rem; } .links { diff --git a/src/app/styles/layout/pregunta7.scss b/src/app/styles/layout/pregunta7.scss index ce8fbdb..63c695c 100644 --- a/src/app/styles/layout/pregunta7.scss +++ b/src/app/styles/layout/pregunta7.scss @@ -47,7 +47,7 @@ table { } thead th { - background-color: #0056b3; + background-color: #003e79; color: #fff; text-align: left; padding: 14px; @@ -110,6 +110,15 @@ tr:nth-child(even) { } } +.total-labs { + margin-top: 20px; + padding: 10px; + font-size: 18px; + text-align: center; + background: #fff; + border-radius: 8px; +} + @media (max-width: 768px) { .controls { flex-direction: column; diff --git a/src/app/styles/layout/reporte.scss b/src/app/styles/layout/reporte.scss index 511c537..c0efb70 100644 --- a/src/app/styles/layout/reporte.scss +++ b/src/app/styles/layout/reporte.scss @@ -77,7 +77,7 @@ box-shadow: 0 -2px 6px rgba(0,0,0,0.05), inset 0 -3px 0 #fff; /* simula borde inferior */ - z-index: 5; + z-index: 0; } } @@ -87,10 +87,13 @@ .data-table_reporte { display: flex; + flex-direction: column; + gap: 20px; justify-content: center; padding: 20px; background-color: #f5f5f7; + text-align: center; border: none; min-height: 300px; animation: fadein 0.2s ease; diff --git a/src/components/AgregarEquipo.tsx b/src/components/AgregarEquipo.tsx index fbbb6d2..a0972b2 100644 --- a/src/components/AgregarEquipo.tsx +++ b/src/components/AgregarEquipo.tsx @@ -10,7 +10,7 @@ import { SO_POR_EQUIPO } from "@/data/so_por_equipo"; import { PROCESADORES_POR_EQUIPO } from "@/data/procesadores"; import { useRouter } from "next/navigation"; import "../app/styles/layout/agregarEquipo.scss"; - interface FormData { +interface FormData { inventario: string; serie: string; lugar: string; @@ -25,8 +25,8 @@ import "../app/styles/layout/agregarEquipo.scss"; id_uso: number; id_marca: number; id_periferico: number; - id_laboratorio: number | null; // ✅ ahora acepta null - id_proyecto: number | null; // ✅ ahora acepta null + id_laboratorio: number | null; + id_proyecto: number | null; isImpresora: boolean; } export default function Page() { @@ -70,7 +70,6 @@ export default function Page() { } }, [inventario]); - // Interfaces interface TipoUso { id_uso: number; @@ -156,8 +155,13 @@ export default function Page() { axios.get(`${api_url}/equipos/laboratorios`, { headers }), axios.get(`${api_url}/equipos/proyectos`, { headers }), ]); + + const ordenados = marcasRes.data.sort((a: Marca, b: Marca) => + a.marca.localeCompare(b.marca) + ); + setTiposUso(usosRes.data); - setMarcas(marcasRes.data); + setMarcas(ordenados); setEstados(estadosRes.data); setAdscripciones(adscripcionesRes.data); setTiposEquipo(tiposEquipoRes.data); @@ -190,7 +194,7 @@ export default function Page() { } }; fetchProcesador(); - }, []); // Ya no depende de tiposEquipo (si la API los da todos juntos) + }, []); useEffect(() => { const fetchPerifericos = async () => { @@ -203,7 +207,12 @@ export default function Page() { const response = await axios.get(`${api_url}/equipos/perifericos`, { headers, }); - setPerifericos(response.data); + + const ordenados = response.data.sort((a: any, b: any) => + a.periferico.localeCompare(b.periferico) + ); + + setPerifericos(ordenados); } catch (err) { console.error(err); toast.error("No se pudieron cargar los periféricos"); @@ -265,18 +274,18 @@ export default function Page() { setFormData((prev) => { let newValue: string | number | null | boolean = value; -if (field.startsWith("id_")) { - if (value === "" || value === 0) { - // Para campos opcionales, usamos null en lugar de 0 - if (field === "id_laboratorio" || field === "id_proyecto") { - newValue = null; - } else { - newValue = 0; - } - } else { - newValue = Number(value); - } -} + if (field.startsWith("id_")) { + if (value === "" || value === 0) { + // Para campos opcionales, usamos null en lugar de 0 + if (field === "id_laboratorio" || field === "id_proyecto") { + newValue = null; + } else { + newValue = 0; + } + } else { + newValue = Number(value); + } + } if (field === "id_tipo_equipo") { const idTipoEquipo = Number(value); const tipoSeleccionado = tiposEquipo.find( @@ -380,8 +389,13 @@ if (field.startsWith("id_")) { await axios.post(`${api_url}/equipos/crear`, dataToSend, { headers }); toast.success("Equipo guardado correctamente"); router.push("/escaner"); - } catch (err) { - console.error(err); + } catch (err: any) { + if (err.response && err.response.status === 400) { + const mensaje = err.response.data?.message || "El equipo ya existe"; + toast.error(mensaje); + return; + } + toast.error("Error al guardar el equipo"); } }; @@ -601,42 +615,46 @@ if (field.startsWith("id_")) { {/* Columna Derecha */}
- {/* Laboratorio */} -
- - -
+ {mostrarCamposComputadora && ( + <> +
+ + +
- {/* Proyecto */} -
- - -
+
+ + +
+ + )} {/* Lugar */}
@@ -673,3 +691,4 @@ if (field.startsWith("id_")) {
); } +//IO diff --git a/src/components/BarNavigation.tsx b/src/components/BarNavigation.tsx index bf2a026..ffc898f 100644 --- a/src/components/BarNavigation.tsx +++ b/src/components/BarNavigation.tsx @@ -13,7 +13,8 @@ function BarNavigation() { const cerrarSesion = () => { if (typeof window !== "undefined") { - localStorage.removeItem("loggedIn"); + document.cookie = + "token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict"; router.push("/"); } setOpenMenu(false); diff --git a/src/components/BarNavigationAdmin.tsx b/src/components/BarNavigationAdmin.tsx index 55a1f25..68063b5 100644 --- a/src/components/BarNavigationAdmin.tsx +++ b/src/components/BarNavigationAdmin.tsx @@ -13,7 +13,8 @@ function BarNavigation() { const cerrarSesion = () => { if (typeof window !== "undefined") { - localStorage.removeItem("loggedIn"); + document.cookie = + "token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict"; router.push("/"); } setOpenMenu(false); @@ -43,7 +44,7 @@ function BarNavigation() { Equipo de Computo -
  • +
  • Perifericos diff --git a/src/components/Dowload/Reporte.tsx b/src/components/Dowload/Reporte.tsx new file mode 100644 index 0000000..6b542cb --- /dev/null +++ b/src/components/Dowload/Reporte.tsx @@ -0,0 +1,43 @@ +"use client"; + +import styles from "./style.module.css"; +import Cookies from "js-cookie"; + +export default function DownloadReporteXLSX() { + const handleDownload = async () => { + const token = Cookies.get("token"); + const headers = { Authorization: `Bearer ${token}` }; + + try { + const response = await fetch( + "https://venus.acatlan.unam.mx/censo_test/equipos/reporteXLSX",{headers} + ); + + if (!response.ok) { + throw new Error("Error al descargar el archivo"); + } + + const blob = await response.blob(); + const url = window.URL.createObjectURL(blob); + + const a = document.createElement("a"); + a.href = url; + a.download = "reporte.xlsx"; + document.body.appendChild(a); + a.click(); + a.remove(); + + window.URL.revokeObjectURL(url); + } catch (error) { + console.error(error); + alert("Hubo un problema al descargar el archivo."); + } + }; + + return ( + + ); +} diff --git a/src/components/Dowload/style.module.css b/src/components/Dowload/style.module.css new file mode 100644 index 0000000..f44b599 --- /dev/null +++ b/src/components/Dowload/style.module.css @@ -0,0 +1,47 @@ +.downloadBtn { + display: flex; + align-items: center; + gap: 8px; + background: #1a73e8; + color: white; + border: none; + padding: 10px 16px; + cursor: pointer; + border-radius: 6px; + font-size: 14px; + font-weight: 600; + transition: background 0.2s ease; +} + +.downloadBtn:hover { + background: #1459b3; +} + +/* Icono con css puro */ +.icon { + width: 18px; + height: 18px; + position: relative; +} + +.icon::before { + content: ""; + width: 3px; + height: 10px; + background: white; + position: absolute; + left: 7px; + top: 0; +} + +.icon::after { + content: ""; + width: 10px; + height: 10px; + border-left: 3px solid white; + border-bottom: 3px solid white; + transform: rotate(-45deg); + position: absolute; + left: 4px; + top: 8px; +} diff --git a/src/components/Editar.tsx b/src/components/Editar.tsx index 3359774..8ca3fef 100644 --- a/src/components/Editar.tsx +++ b/src/components/Editar.tsx @@ -95,7 +95,9 @@ export default function Editar() { const [tiposEquipo, setTiposEquipo] = useState([]); const [laboratorios, setLaboratorios] = useState([]); const [proyectos, setProyectos] = useState([]); - const [sistemasOperativos, setSistemasOperativos] = useState([]); + const [sistemasOperativos, setSistemasOperativos] = useState< + SistemaOperativo[] + >([]); const [procesadores, setProcesadores] = useState([]); const [perifericos, setPerifericos] = useState([]); const [adscripcionLabel, setAdscripcionLabel] = useState(""); @@ -108,7 +110,6 @@ export default function Editar() { const api_url = process.env.NEXT_PUBLIC_API_URL; const mostrarCamposComputadora = Number(formData.id_tipo_equipo) !== 9; - // 🔹 Cargar catálogos useEffect(() => { const fetchCatalogos = async () => { const token = Cookies.get("token"); @@ -194,8 +195,12 @@ export default function Editar() { marca: { id_marca: number; marca: string }; periferico: { id_periferico: number; periferico: string }; observaciones?: string; - id_laboratorio?: number; - id_proyecto?: number; + laboratorio: { + id_laboratorio?: number; + }; + proyecto: { + id_proyecto?: number; + }; } const fetchEquipo = async () => { @@ -245,16 +250,28 @@ export default function Editar() { id_adscripcion: equipo.adscripcion?.id_adscripcion || 0, lugar: equipo.lugar || "", id_periferico: equipo.periferico?.id_periferico || 0, - id_laboratorio: equipo.id_laboratorio || 0, - id_proyecto: equipo.id_proyecto || 0, + id_laboratorio: equipo.laboratorio?.id_laboratorio || 0, + id_proyecto: equipo.proyecto?.id_proyecto || 0, fechaMovimiento: equipo.fechaMovimiento || "", responsable, }); setAdscripcionLabel(equipo.adscripcion?.adscripcion); setId(equipo.id_equipo); - } catch (error) { - console.error("Error al obtener el equipo:", error); + } catch (err) { + if (axios.isAxiosError(err)) { + if (err.response) { + toast.error( + err.response.data?.message || "Error al crear la cuenta" + ); + } else if (err.request) { + toast.error("No se pudo conectar con el servidor"); + } else { + toast.error("Ocurrió un error inesperado"); + } + } else { + toast.error("Ocurrió un error inesperado"); + } toast.error("No se pudo cargar la información del equipo."); } }; @@ -331,7 +348,8 @@ export default function Editar() { return; } - {/*if (!formData.id_laboratorio) { + { + /*if (!formData.id_laboratorio) { toast.error("Laboratorio no seleccionado"); return; } @@ -339,7 +357,8 @@ export default function Editar() { if (!formData.id_proyecto) { toast.error("Proyecto no seleccionado"); return; - }*/} + }*/ + } if (formData.id_tipo_equipo == 9) { if (!formData.id_periferico) { @@ -378,6 +397,7 @@ export default function Editar() { lugar: formData.lugar, id_sistema_operativo: formData.id_sistema_operativo, id_tipo_uso: formData.id_uso, + id_periferico: formData.id_periferico, serie: formData.serie, modelo: formData.modelo, id_marca: formData.id_marca, @@ -462,7 +482,9 @@ export default function Editar() { const first = data[0]; setFormData((prev) => ({ ...prev, - responsable: `${first.nombre ?? ""} ${first.apellidos ?? ""}`.trim(), + responsable: `${first.nombre ?? ""} ${ + first.apellidos ?? "" + }`.trim(), })); } else { toast.error( @@ -549,7 +571,7 @@ export default function Editar() { />
  • -
    + {/*
    -
    +
    */}
    @@ -588,9 +610,7 @@ export default function Editar() { ))}
    - - {/* Columna 2 */}
    @@ -727,39 +747,46 @@ export default function Editar() { placeholder="Selecciona una Adscripción" />
    -
    - - -
    - + {mostrarCamposComputadora && ( +
    + + +
    + )} {/* Columna 3 */}
    -
    - - -
    + {mostrarCamposComputadora && ( +
    + + +
    + )}