From b2757dd18f3bdac7df367b7254517c501f2a0cb7 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Thu, 20 Nov 2025 19:26:49 -0600 Subject: [PATCH] added credenciales and comented --- package-lock.json | 17 +- src/app/(Administrador)/pregunta1/page.tsx | 124 ------ src/app/(Administrador)/pregunta1EP/page.tsx | 162 -------- src/app/(Administrador)/pregunta1_1/page.tsx | 129 ------ .../pregunta1_1/pregunta1.1.css | 148 ------- src/app/(Administrador)/pregunta1_2/page.tsx | 65 ---- src/app/(Administrador)/pregunta1_2/page1.css | 94 ----- src/app/(Administrador)/pregunta2/page.tsx | 161 -------- .../(Administrador)/pregunta2/pregunta2.scss | 164 -------- src/app/(Administrador)/pregunta2EP/page.tsx | 125 ------ src/app/(Administrador)/pregunta2_1/page.tsx | 59 --- src/app/(Administrador)/pregunta2_1/page2.css | 96 ----- src/app/(Administrador)/pregunta3/page.tsx | 366 ------------------ src/app/(Administrador)/pregunta3/page3.css | 167 -------- src/app/(Administrador)/pregunta3_1/page.tsx | 248 ------------ .../(Administrador)/pregunta3_1/page3.1.css | 171 -------- src/app/(Administrador)/pregunta3_2/page.tsx | 270 ------------- .../(Administrador)/pregunta3_2/page3.2.css | 170 -------- src/app/(Administrador)/pregunta3_3/page.tsx | 271 ------------- .../(Administrador)/pregunta3_3/page3.3.css | 170 -------- src/app/(Administrador)/pregunta3_4/page.tsx | 257 ------------ .../(Administrador)/pregunta3_4/page3.4.css | 166 -------- src/app/(Administrador)/pregunta3_5/page.tsx | 209 ---------- .../(Administrador)/pregunta3_5/page3.5.css | 201 ---------- src/app/(Administrador)/pregunta4EP/page.tsx | 105 ----- src/app/(Administrador)/pregunta5EP/page.tsx | 55 --- src/app/(Administrador)/pregunta7/page.tsx | 89 ----- .../(Administrador)/pregunta7/pregunta7.css | 135 ------- src/app/(Administrador)/pregunta7_1/page.tsx | 172 -------- .../(Administrador)/pregunta7_1/pregunta7.css | 132 ------- src/app/(Administrador)/pregunta9/page.tsx | 142 ------- .../(Administrador)/pregunta9/pregunta1.css | 131 ------- .../(Administrador)/reporteNOValido/page.tsx | 93 ----- .../reporteNOValido/reporte.css | 169 -------- src/components/AgregarEquipo.tsx | 51 ++- src/components/Editar.tsx | 3 +- src/components/Perifericos/Pregunta1EP.tsx | 15 + 37 files changed, 64 insertions(+), 5238 deletions(-) delete mode 100644 src/app/(Administrador)/pregunta1/page.tsx delete mode 100644 src/app/(Administrador)/pregunta1EP/page.tsx delete mode 100644 src/app/(Administrador)/pregunta1_1/page.tsx delete mode 100644 src/app/(Administrador)/pregunta1_1/pregunta1.1.css delete mode 100644 src/app/(Administrador)/pregunta1_2/page.tsx delete mode 100644 src/app/(Administrador)/pregunta1_2/page1.css delete mode 100644 src/app/(Administrador)/pregunta2/page.tsx delete mode 100644 src/app/(Administrador)/pregunta2/pregunta2.scss delete mode 100644 src/app/(Administrador)/pregunta2EP/page.tsx delete mode 100644 src/app/(Administrador)/pregunta2_1/page.tsx delete mode 100644 src/app/(Administrador)/pregunta2_1/page2.css delete mode 100644 src/app/(Administrador)/pregunta3/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3/page3.css delete mode 100644 src/app/(Administrador)/pregunta3_1/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3_1/page3.1.css delete mode 100644 src/app/(Administrador)/pregunta3_2/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3_2/page3.2.css delete mode 100644 src/app/(Administrador)/pregunta3_3/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3_3/page3.3.css delete mode 100644 src/app/(Administrador)/pregunta3_4/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3_4/page3.4.css delete mode 100644 src/app/(Administrador)/pregunta3_5/page.tsx delete mode 100644 src/app/(Administrador)/pregunta3_5/page3.5.css delete mode 100644 src/app/(Administrador)/pregunta4EP/page.tsx delete mode 100644 src/app/(Administrador)/pregunta5EP/page.tsx delete mode 100644 src/app/(Administrador)/pregunta7/page.tsx delete mode 100644 src/app/(Administrador)/pregunta7/pregunta7.css delete mode 100644 src/app/(Administrador)/pregunta7_1/page.tsx delete mode 100644 src/app/(Administrador)/pregunta7_1/pregunta7.css delete mode 100644 src/app/(Administrador)/pregunta9/page.tsx delete mode 100644 src/app/(Administrador)/pregunta9/pregunta1.css delete mode 100644 src/app/(Administrador)/reporteNOValido/page.tsx delete mode 100644 src/app/(Administrador)/reporteNOValido/reporte.css diff --git a/package-lock.json b/package-lock.json index 135923a..25b4aa4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,6 +61,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 +1633,7 @@ "integrity": "sha512-tBFxBp9Nfyy5rsmefN+WXc1JeW/j2BpBHFdLZbEVfs9wn3E3NRFxwV0pJg8M1qQAexFpvz73hJXFofV0ZAu92A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -1692,6 +1694,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 +2236,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 +2260,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2655,6 +2660,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -2872,7 +2878,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 +3306,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 +3492,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -5702,6 +5711,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 +5721,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 +6026,7 @@ "integrity": "sha512-Dqh7SiYcaFtdv5Wvku6QgS5IGPm281L+ZtVD1U2FJa7Q0EFRlq8Z3sjYtz6gYObsYThUOz9ArwFqPZx+1azILQ==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -6549,6 +6561,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6751,6 +6764,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7055,6 +7069,7 @@ "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } 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 6cc4fa6..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: #003e79; - color: white; - padding: 15px; - font-size: 20px; - margin-bottom: 25px; -} - - -.pregunta-cuadro { - background-color: #f5f5f5; - border-left: 10px 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: #003e79; - 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 #003e79; - 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: #003e79; - 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 9e8fb13..0000000 --- a/src/app/(Administrador)/pregunta7/pregunta7.css +++ /dev/null @@ -1,135 +0,0 @@ -.contenedor-pregunta { - font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; -} - -.contenedor-censo{ - background-color: #003e79; - color: white; - padding: 15px; - font-size: 16px; - margin-bottom: 25px; - border-radius: 4px; -} - - -.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: #003e79; - 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 #003e79; - 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: #003e79; - background-color: #eef2f6; -} - -/* Total > 100% */ -.total-error { - background-color: #ffcccc; - color: #a80000; -} - diff --git a/src/app/(Administrador)/pregunta7_1/page.tsx b/src/app/(Administrador)/pregunta7_1/page.tsx deleted file mode 100644 index b9ab73e..0000000 --- a/src/app/(Administrador)/pregunta7_1/page.tsx +++ /dev/null @@ -1,172 +0,0 @@ -"use client"; - -import React, { useState, useEffect } from "react"; -import "../../styles/layout/pregunta7.scss"; - -interface Dato { - nombre: string; - cantidad: number; -} - -const datosSimulados: Dato[] = [ - { nombre: "AULA DE ROBÓTICA 101", cantidad: 18 }, - { nombre: "LAB DE QUÍMICA 201", cantidad: 25 }, - { nombre: "LAB DE FÍSICA 202", cantidad: 30 }, - { nombre: "LAB DE PROGRAMACIÓN 301", cantidad: 40 }, - { nombre: "AULA DE DISEÑO 102", cantidad: 22 }, - { nombre: "LAB ELECTRÓNICA 204", cantidad: 35 }, - { nombre: "LAB COMPUTACIÓN 305", cantidad: 28 }, - { nombre: "AULA INTERACTIVA 106", cantidad: 15 }, - { nombre: "LAB DE INNOVACIÓN 307", cantidad: 33 }, - { nombre: "SALA DE CONFERENCIAS A", cantidad: 12 }, - { nombre: "LAB DE MECATRÓNICA 308", cantidad: 45 }, - { nombre: "LAB DE INTELIGENCIA ARTIFICIAL 309", cantidad: 38 }, - { nombre: "LAB DE REDES 310", cantidad: 27 }, - { nombre: "SALA MULTIMEDIA B", cantidad: 20 }, - { nombre: "LAB DE BIOLOGÍA 205", cantidad: 26 }, - { nombre: "LAB DE MECÁNICA 210", cantidad: 32 }, - { nombre: "AULA DE INGLÉS 110", cantidad: 19 }, - { nombre: "SALA DE DOCENTES", cantidad: 14 }, - { nombre: "LAB DE BIG DATA 311", cantidad: 36 }, - { nombre: "LAB DE CIBERSEGURIDAD 312", cantidad: 29 }, -]; - -const Page: React.FC = () => { - const [data, setData] = useState([]); - const [currentPage, setCurrentPage] = useState(1); - const [recordsPerPage, setRecordsPerPage] = useState(10); - const [sortColumn, setSortColumn] = useState(null); - const [sortAsc, setSortAsc] = useState(true); - - useEffect(() => { - setData(datosSimulados); - }, []); - - const sortedData = React.useMemo(() => { - if (!sortColumn) return data; - return [...data].sort((a, b) => { - if (a[sortColumn] < b[sortColumn]) return sortAsc ? -1 : 1; - if (a[sortColumn] > b[sortColumn]) return sortAsc ? 1 : -1; - return 0; - }); - }, [data, sortColumn, sortAsc]); - - const paginatedData = React.useMemo(() => { - const start = (currentPage - 1) * recordsPerPage; - return sortedData.slice(start, start + recordsPerPage); - }, [sortedData, currentPage, recordsPerPage]); - - const totalPages = Math.ceil(sortedData.length / recordsPerPage); - - const handleSort = (column: keyof Dato) => { - if (sortColumn === column) { - setSortAsc(!sortAsc); - } else { - setSortColumn(column); - setSortAsc(true); - } - setCurrentPage(1); - }; - - const handleRecordsPerPageChange = ( - e: React.ChangeEvent - ) => { - setRecordsPerPage(Number(e.target.value)); - setCurrentPage(1); - }; - - const startItem = (currentPage - 1) * recordsPerPage + 1; - const endItem = Math.min(startItem + recordsPerPage - 1, sortedData.length); - - return ( -
-
-
- Mostrar - - registros -
-
- Mostrando {startItem} al {endItem} de {sortedData.length} resultados -
-
- -
- - - - - - - - - {paginatedData.map((item, index) => ( - - - - - ))} - -
handleSort("nombre")} - style={{ cursor: "pointer" }} - > - Nombre del laboratorio o aula - {sortColumn === "nombre" && sortAsc && ( - ascendente - )} - {sortColumn === "nombre" && !sortAsc && ( - descendente - )} - {sortColumn !== "nombre" && <>} - handleSort("cantidad")} - style={{ cursor: "pointer" }} - > - Cantidad - {sortColumn === "cantidad" && sortAsc && ( - ascendente - )} - {sortColumn === "cantidad" && !sortAsc && ( - descendente - )} - {sortColumn !== "cantidad" && <>} -
{item.nombre}{item.cantidad}
-
- -
- - - {Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => ( - - ))} - - -
-
- ); -}; - -export default Page; diff --git a/src/app/(Administrador)/pregunta7_1/pregunta7.css b/src/app/(Administrador)/pregunta7_1/pregunta7.css deleted file mode 100644 index b4eef82..0000000 --- a/src/app/(Administrador)/pregunta7_1/pregunta7.css +++ /dev/null @@ -1,132 +0,0 @@ -.contenedor-pregunta { - font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; -} - -.contenedor-censo{ -background-color: #003e79; -color: white; -border-radius: 4px; -} - - -.pregunta-cuadro { - border-left: 10px 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: #003e79; - 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 #003e79; - 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: #003e79; - 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 c0bd904..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: #003e79; - 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 #003e79; - 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: #003e79; - 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/components/AgregarEquipo.tsx b/src/components/AgregarEquipo.tsx index fbbb6d2..f08e605 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; @@ -190,7 +189,7 @@ export default function Page() { } }; fetchProcesador(); - }, []); // Ya no depende de tiposEquipo (si la API los da todos juntos) + }, []); useEffect(() => { const fetchPerifericos = async () => { @@ -203,7 +202,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 +269,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 +384,15 @@ if (field.startsWith("id_")) { await axios.post(`${api_url}/equipos/crear`, dataToSend, { headers }); toast.success("Equipo guardado correctamente"); router.push("/escaner"); - } catch (err) { + } catch (err: any) { console.error(err); + + if (err.response && err.response.status === 400) { + const mensaje = err.response.data?.message || "El equipo ya 1existe"; + toast.error(mensaje); + return; + } + toast.error("Error al guardar el equipo"); } }; @@ -605,7 +616,6 @@ if (field.startsWith("id_")) {
+
*/} );