diff --git a/package-lock.json b/package-lock.json index c4009d1..58d2ac5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,10 +14,13 @@ "axios": "^1.13.2", "js-cookie": "^3.0.5", "jwt-decode": "^4.0.0", + "leaflet": "^1.9.4", + "leaflet.heat": "^0.2.0", "next": "^16.0.7", "react": "19.2.0", "react-dom": "19.2.0", - "react-hot-toast": "^2.6.0" + "react-hot-toast": "^2.6.0", + "react-leaflet": "^5.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3", @@ -1241,6 +1244,7 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -1280,6 +1284,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1300,6 +1305,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1320,6 +1326,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1340,6 +1347,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1360,6 +1368,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1380,6 +1389,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1400,6 +1410,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1420,6 +1431,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1440,6 +1452,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1460,6 +1473,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1480,6 +1494,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1500,6 +1515,7 @@ "cpu": [ "ia32" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1520,6 +1536,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1533,6 +1550,17 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@react-leaflet/core": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-3.0.0.tgz", + "integrity": "sha512-3EWmekh4Nz+pGcr+xjf0KNyYfC3U2JjnkWsh0zcqaexYqmmB5ZhH37kz41JXGmKzpaMZCnPofBBm64i+YrEvGQ==", + "license": "Hippocratic-2.1", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -2556,7 +2584,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -2919,6 +2947,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, "license": "Apache-2.0", "optional": true, "bin": { @@ -3667,7 +3696,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -4314,7 +4343,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4360,7 +4389,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -4399,7 +4428,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -4730,6 +4759,17 @@ "node": ">=0.10" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" + }, + "node_modules/leaflet.heat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/leaflet.heat/-/leaflet.heat-0.2.0.tgz", + "integrity": "sha512-Cd5PbAA/rX3X3XKxfDoUGi9qp78FyhWYurFg3nsfhntcM/MCNK08pRkf4iEenO1KNqwVPKCmkyktjW3UD+h9bQ==" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -4813,7 +4853,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -4972,6 +5012,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, "license": "MIT", "optional": true }, @@ -5223,7 +5264,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -5374,6 +5415,20 @@ "dev": true, "license": "MIT" }, + "node_modules/react-leaflet": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-5.0.0.tgz", + "integrity": "sha512-CWbTpr5vcHw5bt9i4zSlPEVQdTVcML390TjeDG0cK59z1ylexpqC6M1PJFjV8jD7CF+ACBFsLIDs6DRMoLEofw==", + "license": "Hippocratic-2.1", + "dependencies": { + "@react-leaflet/core": "^3.0.0" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, "node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -6083,7 +6138,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" diff --git a/package.json b/package.json index af5b057..6f2c324 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,13 @@ "axios": "^1.13.2", "js-cookie": "^3.0.5", "jwt-decode": "^4.0.0", + "leaflet": "^1.9.4", + "leaflet.heat": "^0.2.0", "next": "^16.0.7", "react": "19.2.0", "react-dom": "19.2.0", - "react-hot-toast": "^2.6.0" + "react-hot-toast": "^2.6.0", + "react-leaflet": "^5.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3", diff --git a/public/plano_fes_acatlan.png b/public/plano_fes_acatlan.png new file mode 100644 index 0000000..451d26d Binary files /dev/null and b/public/plano_fes_acatlan.png differ diff --git a/src/components/Equipo_Computo/Pregunta7.tsx b/src/components/Equipo_Computo/Pregunta7.tsx index 2ea971b..c71eaf6 100644 --- a/src/components/Equipo_Computo/Pregunta7.tsx +++ b/src/components/Equipo_Computo/Pregunta7.tsx @@ -1,5 +1,6 @@ "use client"; + import { useState, useEffect } from "react"; import Cookies from "js-cookie"; import axios from "axios"; @@ -167,5 +168,7 @@ export default function Pregunta7() { + + ); -} +} \ No newline at end of file diff --git a/src/components/Equipo_Computo/hotmap.tsx b/src/components/Equipo_Computo/hotmap.tsx new file mode 100644 index 0000000..cf9380a --- /dev/null +++ b/src/components/Equipo_Computo/hotmap.tsx @@ -0,0 +1,128 @@ +"use client"; + +import { MapContainer, ImageOverlay, useMap } from "react-leaflet"; +import L from "leaflet"; +import "leaflet/dist/leaflet.css"; +import "leaflet.heat"; +import { useEffect } from "react"; + +function HeatLayer() { + const map = useMap(); + + useEffect(() => { + + const puntos = [ + [200,300,3.5], + [210,310,4.0], + [220,320,5.2], + [230,330,6.5], + [240,340,7.0], + [250,350,8.0], + [260,360,6.8], + [270,370,7.5], + + [400,500,4.5], + [410,510,6.0], + [420,520,8.0], + [430,530,7.2], + [440,540,6.5], + [450,550,5.8], + [460,560,7.1], + + [600,300,4.2], + [610,310,5.4], + [620,320,6.6], + [630,330,7.8], + [640,340,8.5], + [650,350,7.2], + [660,360,6.1], + [670,370,5.3], + + [700,200,6.5], + [720,220,7.8], + [740,240,8.9], + [760,260,9.5], + [780,280,8.7], + [800,300,7.6], + [820,320,6.4] + ]; + + const heat = L.heatLayer(puntos, { + radius: 50, + blur: 30, + maxZoom: 2, + + gradient: { + 0.2: "blue", + 0.4: "cyan", + 0.6: "yellow", + 0.8: "orange", + 1.0: "red" + } + }); + + heat.addTo(map); + + return () => { + map.removeLayer(heat); + }; + + }, [map]); + + return null; +} + +export default function MapaFES({ cerrar }) { + + const bounds = [ + [0,0], + [1000,1000] + ]; + + return ( + +
+ + + + + + + + + + + +
+ ); +} \ No newline at end of file diff --git a/src/proxy.ts b/src/proxy.ts index 1c2ffa8..e619df6 100644 --- a/src/proxy.ts +++ b/src/proxy.ts @@ -35,15 +35,7 @@ export function proxy(request: NextRequest) { export const config = { matcher: [ - "/escaner", - "/agregarEquipo", - "/editar", - "/crearCuenta", - "/equipoComputo", - "/perifericos", - "/ranking", - "/historial", - "/cambiarPass" + ], }; //IO