From 7f8b28753ef630e7105b6012fa5ef3bc5d413de9 Mon Sep 17 00:00:00 2001 From: tyrannusss Date: Tue, 7 Oct 2025 15:17:07 -0600 Subject: [PATCH 01/27] consultas a base de datos --- .../BitacoraSanciones/Sanciones.tsx | 3 +- .../BitacoraSanciones/TableSancion.tsx | 100 +++++++++++++++--- package-lock.json | 25 ++++- package.json | 3 +- 4 files changed, 113 insertions(+), 18 deletions(-) diff --git a/app/Components/BitacoraSanciones/Sanciones.tsx b/app/Components/BitacoraSanciones/Sanciones.tsx index b4442e9..109ccc2 100644 --- a/app/Components/BitacoraSanciones/Sanciones.tsx +++ b/app/Components/BitacoraSanciones/Sanciones.tsx @@ -19,8 +19,7 @@ export default async function Sanciones(props: { student?: Student }) { NoCuenta={props.student.id_cuenta} Nombre={props.student.nombre} /> - - + )} diff --git a/app/Components/BitacoraSanciones/TableSancion.tsx b/app/Components/BitacoraSanciones/TableSancion.tsx index e45662e..0585608 100644 --- a/app/Components/BitacoraSanciones/TableSancion.tsx +++ b/app/Components/BitacoraSanciones/TableSancion.tsx @@ -24,24 +24,64 @@ interface sancion { } export default function TableSancion() { - const [sanciones, setSanciones] = useState(); + const [sanciones, setSanciones] = useState([]); const [button, setButton] = useState(false); + const [selectedSancion, setSelectedSancion] = useState(""); + const [alumnoSanciones, setAlumnoSanciones] = useState([]); + /* + useEffect(() => { + const getSanciones = async () => { + const response = await axios.get(""); + setSanciones(response); + }; + getSanciones(); + }, [button]); - // useEffect(() => { - // const getSanciones = async () => { - // const response = await axios.get(""); - // setSanciones(response); - // }; - // getSanciones(); - // }, [button]); + + + {new Date(item.fecha_inicio).toLocaleDateString()} + + {calcularFechaFin(item.fecha_inicio, item.sancion?.duracion)} + + + https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/320154041 + .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") +*/ + useEffect(() => { + axios + .get( + " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/320154041" + ) + .then((response) => { + setAlumnoSanciones(response.data); + }) + .catch((error) => { + console.error("Error al obtener las sanciones:", error); + }); + + axios + .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") + .then((response) => { + setSanciones(response.data); + }) + .catch((error) => { + console.error("Error al obtener las sanciones:", error); + }); + }, []); const handlebutton = () => { setButton(!button); }; - + + const calcularFechaFin = (fechaInicio: string, duracionSemanas: number) => { + const fecha = new Date(fechaInicio); + fecha.setDate(fecha.getDate() + duracionSemanas * 7); + return fecha.toLocaleDateString(); + }; + return ( <> -
+
@@ -52,19 +92,51 @@ export default function TableSancion() { - + + {sanciones.length > 0 ? ( + alumnoSanciones.map((item: any) => ( + + + + + + + + )) + ) : ( + + + + )} +
Podra utilizar el servicio hasta
{item.alumno?.id_cuenta}{item.sancion?.sancion}{item.sancion?.duracion}{new Date(item.fecha_inicio).toLocaleDateString()} + {calcularFechaFin( + item.fecha_inicio, + item.sancion?.duracion + )} +
No hay sanciones registradas
- setSelectedSancion(e.target.value)} + > - + {sanciones.map((sancion: any) => ( + + ))}
- diff --git a/package-lock.json b/package-lock.json index 9bc5488..6fbc9c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "react": "19.1.0", "react-dom": "19.1.0", "react-hot-toast": "^2.6.0", - "react-icons": "^5.5.0" + "react-icons": "^5.5.0", + "react-toastify": "^11.0.5" }, "devDependencies": { "@types/js-cookie": "^3.0.6", @@ -688,6 +689,15 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", @@ -1174,6 +1184,19 @@ "react": "*" } }, + "node_modules/react-toastify": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", + "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", + "license": "MIT", + "dependencies": { + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + } + }, "node_modules/scheduler": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", diff --git a/package.json b/package.json index c888ba7..c422cf7 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "react": "19.1.0", "react-dom": "19.1.0", "react-hot-toast": "^2.6.0", - "react-icons": "^5.5.0" + "react-icons": "^5.5.0", + "react-toastify": "^11.0.5" }, "devDependencies": { "@types/js-cookie": "^3.0.6", From 139c0b507217617230dde3ca0a86081c062fa435 Mon Sep 17 00:00:00 2001 From: tyrannusss Date: Thu, 9 Oct 2025 17:14:53 -0600 Subject: [PATCH 02/27] consulta en quitar sancion --- .../BitacoraSanciones/TableSancion.tsx | 2 +- .../QuitarSancion/QuitarSancion.tsx | 85 ++++++++++++++++--- 2 files changed, 72 insertions(+), 15 deletions(-) diff --git a/app/Components/BitacoraSanciones/TableSancion.tsx b/app/Components/BitacoraSanciones/TableSancion.tsx index 0585608..6ff31d2 100644 --- a/app/Components/BitacoraSanciones/TableSancion.tsx +++ b/app/Components/BitacoraSanciones/TableSancion.tsx @@ -50,7 +50,7 @@ export default function TableSancion() { useEffect(() => { axios .get( - " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/320154041" + " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/423019393" ) .then((response) => { setAlumnoSanciones(response.data); diff --git a/app/Components/QuitarSancion/QuitarSancion.tsx b/app/Components/QuitarSancion/QuitarSancion.tsx index 03516d2..622e7f5 100644 --- a/app/Components/QuitarSancion/QuitarSancion.tsx +++ b/app/Components/QuitarSancion/QuitarSancion.tsx @@ -1,9 +1,10 @@ "use client"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import styles from "./Page.module.css"; +import axios from "axios"; -interface quitarSanciones { +interface alumno_sancion { id: number; nombre: string; motivo: string; @@ -12,11 +13,53 @@ interface quitarSanciones { utilizar_equipo: number; } +interface alumno { + id_cuenta: number; + nombre: string; + credito: number; +} + +interface sancion { + id_sancion: number; + sancion: string; + duracion: number; +} + function QuitarSancion() { - const [quitarSanciones, SetQuitarSanciones] = useState([]); + const [quitarSanciones, SetQuitarSanciones] = useState([]); + const [sanciones, setSanciones] = useState([]); + const [alumnoSanciones, setAlumnoSanciones] = useState([]); + useEffect(() => { + axios + .get( + " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/423019393" + ) + .then((response) => { + SetQuitarSanciones(response.data); + }) + .catch((error) => { + console.error("Error al obtener las sanciones:", error); + }); + + axios + .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") + .then((response) => { + setSanciones(response.data); + }) + .catch((error) => { + console.error("Error al obtener las sanciones:", error); + }); + }, []); + + const calcularFechaFin = (fechaInicio: string, duracionSemanas: number) => { + const fecha = new Date(fechaInicio); + fecha.setDate(fecha.getDate() + duracionSemanas * 7); + return fecha.toLocaleDateString(); + }; + return (
-
+
@@ -29,20 +72,34 @@ function QuitarSancion() { - {quitarSanciones.map((quitarSanciones, index) => ( - - - - - - - + {sanciones.length > 0 ? ( + quitarSanciones.map((item: any) => ( + + + + + + + + + + )) + ) : ( + + - ))} + )}
{quitarSanciones.id}{quitarSanciones.nombre}{quitarSanciones.motivo}{quitarSanciones.duracion}{quitarSanciones.fecha_sancion}{quitarSanciones.utilizar_equipo}
{item.id_alumno_sancion}{item.alumno?.nombre}{item.sancion?.sancion}{item.sancion?.duracion}{new Date(item.fecha_inicio).toLocaleDateString()} + {calcularFechaFin( + item.fecha_inicio, + item.sancion?.duracion + )} +
No hay sanciones registradas
- +
); } From d05bf5a3ea556f759cc1c34fbe0037430bf9cd55 Mon Sep 17 00:00:00 2001 From: tyrannusss Date: Mon, 13 Oct 2025 16:47:17 -0600 Subject: [PATCH 03/27] Creacion de nuevo componente y arreglos de botones --- app/(private)/BitacoraSanciones/page.tsx | 26 ++++----- app/(private)/Impresiones/page.tsx | 6 +- .../BitacoraSanciones/BitacoraAlumno.tsx | 4 +- .../BitacoraSanciones/BitacoraEquipo.tsx | 7 +-- .../Global/SearchUser/SearchUserWithDate.tsx | 58 +++++++++++++++++++ 5 files changed, 79 insertions(+), 22 deletions(-) create mode 100644 app/Components/Global/SearchUser/SearchUserWithDate.tsx diff --git a/app/(private)/BitacoraSanciones/page.tsx b/app/(private)/BitacoraSanciones/page.tsx index 5ebe1ff..dcbc1e1 100644 --- a/app/(private)/BitacoraSanciones/page.tsx +++ b/app/(private)/BitacoraSanciones/page.tsx @@ -3,6 +3,7 @@ import BitacoraEquipo from "@/app/Components/BitacoraSanciones/BitacoraEquipo"; import BitacoraMesas from "@/app/Components/BitacoraSanciones/BitacoraMesas"; import Sanciones from "@/app/Components/BitacoraSanciones/Sanciones"; import SearchUser from "@/app/Components/Global/SearchUser/searchUser"; +import SearchUserWithDate from "@/app/Components/Global/SearchUser/SearchUserWithDate"; import Toggle from "@/app/Components/Global/Toggle/Toggle"; import { GetStudent } from "@/app/lib/getStudent"; @@ -13,23 +14,22 @@ export default async function Page(props: { }>; }) { const params = await props.searchParams; - const key = params?.key && params.key ; + const key = params?.key && params.key; const numAcount = params?.numAcount ? params.numAcount : null; - let student: any = null; - - if (numAcount) { - const result = await GetStudent(parseInt(numAcount)); - - if (result.error) { - } else { - student = result; - } + let student: any = null; + + if (numAcount) { + const result = await GetStudent(parseInt(numAcount)); + + if (result.error) { + } else { + student = result; } + } return (
-

BITACORA Y SANCIONES

- + ), @@ -68,7 +68,7 @@ export default async function Page(props: { label: "Sanciones", content: ( <> - + ), }, diff --git a/app/(private)/Impresiones/page.tsx b/app/(private)/Impresiones/page.tsx index ca95c16..ec32bf1 100644 --- a/app/(private)/Impresiones/page.tsx +++ b/app/(private)/Impresiones/page.tsx @@ -1,3 +1,5 @@ +"use client"; + import SearchUser from "../../Components/Global/SearchUser/searchUser"; import Receipt from "../../Components/Receipt/Receipt"; import Toggle from "../../Components/Global/Toggle/Toggle"; @@ -8,6 +10,7 @@ import ShowError from "@/app/Components/Global/ShowError"; import { GetStudent } from "@/app/lib/getStudent"; import "@/app/globals.css"; +import toast from "react-hot-toast"; export default async function Page(props: { searchParams?: Promise<{ @@ -26,7 +29,7 @@ export default async function Page(props: { const result = await GetStudent(parseInt(numAcount)); if (result.error) { - errorMessage = `${result.error}`; + toast.error("This didn't work."); } else { student = result as Student; } @@ -34,7 +37,6 @@ export default async function Page(props: { return (
- {errorMessage && }

IMPRESIONES Y PLOTEO

diff --git a/app/Components/BitacoraSanciones/BitacoraAlumno.tsx b/app/Components/BitacoraSanciones/BitacoraAlumno.tsx index fc793b1..5f93426 100644 --- a/app/Components/BitacoraSanciones/BitacoraAlumno.tsx +++ b/app/Components/BitacoraSanciones/BitacoraAlumno.tsx @@ -3,6 +3,7 @@ import SearchDate from "../SearchDate/SearchDate"; import { useState } from "react"; import styles from "./Page.module.css"; +import SearchUserWithDate from "../Global/SearchUser/SearchUserWithDate"; interface alumnos { tiempo_entrada: string; @@ -14,8 +15,7 @@ function BitacoraAlumno() { const [alumnos, setAlumnos] = useState([]); return ( <> - -
+
diff --git a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx index a335743..6ba88d8 100644 --- a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx +++ b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx @@ -16,7 +16,6 @@ function BitacoraEquipo() { const [ubicacion_equipo, setUbicacionEquipo] = useState(""); return ( <> -
@@ -28,12 +27,10 @@ function BitacoraEquipo() { - + -
+
diff --git a/app/Components/Global/SearchUser/SearchUserWithDate.tsx b/app/Components/Global/SearchUser/SearchUserWithDate.tsx new file mode 100644 index 0000000..e1470c4 --- /dev/null +++ b/app/Components/Global/SearchUser/SearchUserWithDate.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useEffect, useState } from "react"; +import SearchDate from "../../SearchDate/SearchDate"; + +interface urlProp { + value: string | null; +} + +function SearchUserWithDate(props: urlProp) { + const [numAcount, setnumAcount] = useState(""); + const router = useRouter(); + const pathname = usePathname(); + const searchParams = useSearchParams(); + + useEffect(() => { + if (props.value) { + setnumAcount(props.value); + } + }, [props.value]); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + const params = new URLSearchParams(searchParams.toString()); + if (numAcount) { + params.set("numAcount", `${numAcount}`); + router.push(`${pathname}?${params.toString()}`); + } + }; + + return ( + <> +
+ +
+ { + const value = e.target.value; + if (/^\d*$/.test(value) && value.length <= 9) { + setnumAcount(value); + } + }} + placeholder="Coloca un número de cuenta..." + inputMode="numeric" + pattern="[0-9]*" + /> + +
+ + + ); +} + +export default SearchUserWithDate; +//IO From 059136375e8eeed4a89ca4a3efc8f69b7979b423 Mon Sep 17 00:00:00 2001 From: tyrannusss Date: Mon, 13 Oct 2025 17:14:45 -0600 Subject: [PATCH 04/27] q --- app/(private)/QuitarSancion/page.tsx | 5 ++--- app/Components/QuitarSancion/QuitarSancion.tsx | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/(private)/QuitarSancion/page.tsx b/app/(private)/QuitarSancion/page.tsx index 7e2a7ed..c945287 100644 --- a/app/(private)/QuitarSancion/page.tsx +++ b/app/(private)/QuitarSancion/page.tsx @@ -12,10 +12,9 @@ export default async function Page(props: { return ( <>

Quitar Sanciones

-
+
- +
); diff --git a/app/Components/QuitarSancion/QuitarSancion.tsx b/app/Components/QuitarSancion/QuitarSancion.tsx index 622e7f5..108aed2 100644 --- a/app/Components/QuitarSancion/QuitarSancion.tsx +++ b/app/Components/QuitarSancion/QuitarSancion.tsx @@ -3,6 +3,7 @@ import { useEffect, useState } from "react"; import styles from "./Page.module.css"; import axios from "axios"; +import { envConfig } from "@/app/lib/config"; interface alumno_sancion { id: number; @@ -25,15 +26,17 @@ interface sancion { duracion: number; } -function QuitarSancion() { +interface prop { + numAcount: string | null; +} + +function QuitarSancion(props: prop) { const [quitarSanciones, SetQuitarSanciones] = useState([]); const [sanciones, setSanciones] = useState([]); const [alumnoSanciones, setAlumnoSanciones] = useState([]); useEffect(() => { axios - .get( - " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/423019393" - ) + .get(`${envConfig.apiUrl}/alumno-sancion/${props.numAcount}`) .then((response) => { SetQuitarSanciones(response.data); }) @@ -42,7 +45,7 @@ function QuitarSancion() { }); axios - .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") + .get(`${envConfig.apiUrl}/asignacionTiempo_test/sancion`) .then((response) => { setSanciones(response.data); }) From 7d16cde8f4ee593fd04a43400449a4d79c9f8669 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 13 Oct 2025 17:15:35 -0600 Subject: [PATCH 05/27] just style --- app/Components/Global/table.module.css | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Components/Global/table.module.css b/app/Components/Global/table.module.css index b25dd2e..d4c065c 100644 --- a/app/Components/Global/table.module.css +++ b/app/Components/Global/table.module.css @@ -1,4 +1,5 @@ .tableContainer { + margin-top: 1rem; width: 100%; max-width: 450px; overflow-x: hidden; From 83f6a00307b7a88cd0a4b2393bbe3b5d61eba597 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 14 Oct 2025 14:27:03 -0600 Subject: [PATCH 06/27] modified styles tables --- app/(private)/AgregarTiempo/page.tsx | 3 +- app/(private)/AsignacionEquipo/page.tsx | 8 +- app/(private)/BitacoraSanciones/page.tsx | 6 + app/(private)/Inscritos/page.tsx | 47 ++++---- .../ActivosMantenimiento/MesasDisponibles.tsx | 9 +- .../BitacoraSanciones/BitacoraAlumno.tsx | 38 +++--- .../BitacoraSanciones/BitacoraEquipo.tsx | 4 +- .../BitacoraSanciones/BitacoraMesas.tsx | 6 +- .../BitacoraSanciones/Sanciones.tsx | 15 ++- .../BitacoraSanciones/TableSancion.tsx | 111 +++++++----------- app/Components/Equipos/tableequipos.tsx | 7 +- .../Global/SearchUser/SearchUserWithDate.tsx | 2 +- app/Components/Global/Toggle/Toggle.tsx | 6 +- .../QuitarSancion/QuitarSancion.tsx | 8 +- app/Components/Reportes/porRecibo.tsx | 4 +- app/Components/Reportes/porServicio.tsx | 4 +- app/globals.css | 13 +- 17 files changed, 135 insertions(+), 156 deletions(-) diff --git a/app/(private)/AgregarTiempo/page.tsx b/app/(private)/AgregarTiempo/page.tsx index df7fc96..ab80f55 100644 --- a/app/(private)/AgregarTiempo/page.tsx +++ b/app/(private)/AgregarTiempo/page.tsx @@ -6,6 +6,7 @@ import toast from "react-hot-toast"; import { GetStudent } from "@/app/lib/getStudent"; import "./addTime.css"; +import Selection from "@/app/Components/Selection/Selection"; export default async function Page(props: { searchParams?: Promise<{ @@ -38,7 +39,7 @@ export default async function Page(props: {
-
+
diff --git a/app/(private)/AsignacionEquipo/page.tsx b/app/(private)/AsignacionEquipo/page.tsx index 700a708..a0a4659 100644 --- a/app/(private)/AsignacionEquipo/page.tsx +++ b/app/(private)/AsignacionEquipo/page.tsx @@ -10,7 +10,7 @@ import "@/app/globals.css"; export default async function Page(props: { searchParams?: Promise<{ - key?:string + key?: string; numAcount?: string; machine?: string; }>; @@ -52,7 +52,7 @@ export default async function Page(props: { {student && ( <> - {/*
+
@@ -74,7 +74,7 @@ export default async function Page(props: { Asignar Equipo
-
*/} +
)} diff --git a/app/(private)/BitacoraSanciones/page.tsx b/app/(private)/BitacoraSanciones/page.tsx index f0ed7ac..78cb26d 100644 --- a/app/(private)/BitacoraSanciones/page.tsx +++ b/app/(private)/BitacoraSanciones/page.tsx @@ -3,8 +3,10 @@ import BitacoraEquipo from "@/app/Components/BitacoraSanciones/BitacoraEquipo"; import BitacoraMesas from "@/app/Components/BitacoraSanciones/BitacoraMesas"; import Sanciones from "@/app/Components/BitacoraSanciones/Sanciones"; import SearchUserWithDate from "@/app/Components/Global/SearchUser/SearchUserWithDate"; +import ShowError from "@/app/Components/Global/ShowError"; import Toggle from "@/app/Components/Global/Toggle/Toggle"; import { GetStudent } from "@/app/lib/getStudent"; +import { GetSancionByStudent } from "@/app/lib/getStudent copy"; export default async function Page(props: { searchParams?: Promise<{ @@ -17,11 +19,13 @@ export default async function Page(props: { const numAcount = params?.numAcount ? params.numAcount : null; let student: any = null; + let errorMessage = ""; if (numAcount) { const result = await GetStudent(parseInt(numAcount)); if (result.error) { + errorMessage = `${result.error}`; } else { student = result; } @@ -29,6 +33,8 @@ export default async function Page(props: { return (
+ {errorMessage && } +

BITACORA Y SANCIONES

-

INSCRITOS

@@ -30,7 +28,7 @@ export default async function Page(props: { -
+
@@ -44,28 +42,27 @@ export default async function Page(props: {
-
- - - - - - - - - - - - - - - - - - - - -
Impresione B/NImpresiones ColorPlotteoEscanerTotal
5,00010,00010,00020,00045,000
+
+ + + + + + + + + + + + + + + + + + + +
Impresione B/NImpresiones ColorPlotteoEscanerTotal
5,00010,00010,00020,00045,000
); diff --git a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx index fa89767..aef9e8b 100644 --- a/app/Components/ActivosMantenimiento/MesasDisponibles.tsx +++ b/app/Components/ActivosMantenimiento/MesasDisponibles.tsx @@ -1,13 +1,10 @@ -import styles from "./Page.module.css"; - export default async function MesasDisponibles() { return (
- -
- +
+
- + diff --git a/app/Components/BitacoraSanciones/BitacoraAlumno.tsx b/app/Components/BitacoraSanciones/BitacoraAlumno.tsx index ff75106..c8b3256 100644 --- a/app/Components/BitacoraSanciones/BitacoraAlumno.tsx +++ b/app/Components/BitacoraSanciones/BitacoraAlumno.tsx @@ -1,8 +1,6 @@ "use client"; import { useState } from "react"; -import styles from "./Page.module.css"; - interface alumnos { tiempo_entrada: string; tiempo_asignado: string; @@ -13,26 +11,24 @@ function BitacoraAlumno() { const [alumnos, setAlumnos] = useState([]); return ( <> -
-
Mesa Activo
- - - - - +
Tiempo EntradaTiempo AsignadoUbicacion del equipo
+ + + + + + + + + {alumnos.map((alumno, index) => ( + + + + - - - {alumnos.map((alumno, index) => ( - - - - - - ))} - -
Tiempo EntradaTiempo AsignadoUbicacion del equipo
{alumno.tiempo_entrada}{alumno.tiempo_asignado}{alumno.Ubicacion_equipo}
{alumno.tiempo_entrada}{alumno.tiempo_asignado}{alumno.Ubicacion_equipo}
-
+ ))} + + ); } diff --git a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx index 33006fd..a47e880 100644 --- a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx +++ b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx @@ -30,8 +30,8 @@ function BitacoraEquipo() {
-
- +
+
diff --git a/app/Components/BitacoraSanciones/BitacoraMesas.tsx b/app/Components/BitacoraSanciones/BitacoraMesas.tsx index d27e3d3..14c2d6f 100644 --- a/app/Components/BitacoraSanciones/BitacoraMesas.tsx +++ b/app/Components/BitacoraSanciones/BitacoraMesas.tsx @@ -2,8 +2,6 @@ import SearchDate from "../SearchDate/SearchDate"; import { useState } from "react"; -import styles from "./Page.module.css"; - interface tables { no_mesa: number; no_cuenta: number; @@ -18,8 +16,8 @@ function BitacoraMesas() { return ( <> -
-
Hora Entrada
+
+
diff --git a/app/Components/BitacoraSanciones/Sanciones.tsx b/app/Components/BitacoraSanciones/Sanciones.tsx index 109ccc2..e85d14d 100644 --- a/app/Components/BitacoraSanciones/Sanciones.tsx +++ b/app/Components/BitacoraSanciones/Sanciones.tsx @@ -5,23 +5,22 @@ import TableSancion from "./TableSancion"; interface Student { id_cuenta: string; nombre: string; + credito?: number; } -export default async function Sanciones(props: { student?: Student }) { - const idCuenta = props?.student?.id_cuenta ?? null; +export default function Sanciones({ student }: { student?: Student }) { + const idCuenta = student?.id_cuenta ?? null; return ( <> - {props.student && ( + {student && ( <> - - + + )} ); } +// diff --git a/app/Components/BitacoraSanciones/TableSancion.tsx b/app/Components/BitacoraSanciones/TableSancion.tsx index 6ff31d2..d4d95d6 100644 --- a/app/Components/BitacoraSanciones/TableSancion.tsx +++ b/app/Components/BitacoraSanciones/TableSancion.tsx @@ -1,77 +1,59 @@ "use client"; import { useEffect, useState } from "react"; -import styles from "./Page.module.css"; import axios from "axios"; +import toast from "react-hot-toast"; -interface alumno_sancion { - id_alumno_sancion: number; - fecha_inicio: string; - alumno: alumno; - sancion: sancion; -} - -interface alumno { +interface Alumno { id_cuenta: number; nombre: string; credito: number; } -interface sancion { +interface Sancion { id_sancion: number; sancion: string; duracion: number; } -export default function TableSancion() { - const [sanciones, setSanciones] = useState([]); - const [button, setButton] = useState(false); +interface AlumnoSancion { + id_alumno_sancion: number; + fecha_inicio: string; + sancion: Sancion; +} + +export default function TableSancion({ idCuenta }: { idCuenta: number }) { + const [sanciones, setSanciones] = useState([]); + const [alumno, setAlumno] = useState(null); + const [alumnoSanciones, setAlumnoSanciones] = useState([]); const [selectedSancion, setSelectedSancion] = useState(""); - const [alumnoSanciones, setAlumnoSanciones] = useState([]); - /* + useEffect(() => { - const getSanciones = async () => { - const response = await axios.get(""); - setSanciones(response); - }; - getSanciones(); - }, [button]); + if (!idCuenta) return; - - - - - - https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/320154041 - .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") -*/ - useEffect(() => { + // Obtener sanciones del alumno axios .get( - " https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/423019393" + `https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/${idCuenta}` ) - .then((response) => { - setAlumnoSanciones(response.data); + .then((res) => { + setAlumno(res.data.student); + setAlumnoSanciones( + res.data.alusancion?.length ? res.data.alusancion : [] + ); }) - .catch((error) => { - console.error("Error al obtener las sanciones:", error); - }); + .catch((err) => + toast.error("Error al obtener las sanciones del alumno:", err) + ); + // Obtener catálogo de sanciones axios .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") - .then((response) => { - setSanciones(response.data); - }) - .catch((error) => { - console.error("Error al obtener las sanciones:", error); - }); - }, []); - - const handlebutton = () => { - setButton(!button); - }; + .then((res) => setSanciones(res.data)) + .catch((err) => + toast.error("Error al obtener el catálogo de sanciones:", err) + ); + }, [idCuenta]); const calcularFechaFin = (fechaInicio: string, duracionSemanas: number) => { const fecha = new Date(fechaInicio); @@ -81,36 +63,33 @@ export default function TableSancion() { return ( <> -
-
Mesa{new Date(item.fecha_inicio).toLocaleDateString()} - {calcularFechaFin(item.fecha_inicio, item.sancion?.duracion)} -
+
+
- + - + - {sanciones.length > 0 ? ( - alumnoSanciones.map((item: any) => ( + {alumnoSanciones.length > 0 ? ( + alumnoSanciones.map((item) => ( - - - + + + )) ) : ( - + )} @@ -124,7 +103,7 @@ export default function TableSancion() { onChange={(e) => setSelectedSancion(e.target.value)} > - {sanciones.map((sancion: any) => ( + {sanciones.map((sancion) => ( @@ -132,14 +111,14 @@ export default function TableSancion() { + ); } -//IO diff --git a/app/Components/Equipos/tableequipos.tsx b/app/Components/Equipos/tableequipos.tsx index a072348..1be142d 100644 --- a/app/Components/Equipos/tableequipos.tsx +++ b/app/Components/Equipos/tableequipos.tsx @@ -3,11 +3,10 @@ import styles from "./Page.module.css"; export default async function TableEquipos() { return (
- -
-
Cuenta Motivo de la sanciónDuracion (Semanas) Duración (Semanas) Fecha SanciónPodra utilizar el servicio hastaPodrá utilizar el servicio hasta
{item.alumno?.id_cuenta}{item.sancion?.sancion}{item.sancion?.duracion}{alumno?.id_cuenta}{item.sancion.sancion}{item.sancion.duracion} {new Date(item.fecha_inicio).toLocaleDateString()} - {calcularFechaFin( - item.fecha_inicio, - item.sancion?.duracion - )} + {calcularFechaFin(item.fecha_inicio, item.sancion.duracion)}
No hay sanciones registradasNo hay sanciones registradas
+
+
- + diff --git a/app/Components/Global/SearchUser/SearchUserWithDate.tsx b/app/Components/Global/SearchUser/SearchUserWithDate.tsx index e1470c4..595101d 100644 --- a/app/Components/Global/SearchUser/SearchUserWithDate.tsx +++ b/app/Components/Global/SearchUser/SearchUserWithDate.tsx @@ -47,9 +47,9 @@ function SearchUserWithDate(props: urlProp) { inputMode="numeric" pattern="[0-9]*" /> - + ); } diff --git a/app/Components/Global/Toggle/Toggle.tsx b/app/Components/Global/Toggle/Toggle.tsx index 999bf9b..6c3a237 100644 --- a/app/Components/Global/Toggle/Toggle.tsx +++ b/app/Components/Global/Toggle/Toggle.tsx @@ -29,7 +29,7 @@ export default function Toggle({ options, defaultView }: ToggleProps) { router.replace(`${pathname}?${params.toString()}`); }; - + return (
@@ -44,10 +44,10 @@ export default function Toggle({ options, defaultView }: ToggleProps) { ))}
-
+
{options.find((opt) => opt.key === view)?.content}
); } -//IO \ No newline at end of file +//IO diff --git a/app/Components/QuitarSancion/QuitarSancion.tsx b/app/Components/QuitarSancion/QuitarSancion.tsx index 5187340..6f2e601 100644 --- a/app/Components/QuitarSancion/QuitarSancion.tsx +++ b/app/Components/QuitarSancion/QuitarSancion.tsx @@ -1,5 +1,3 @@ -import styles from "./Page.module.css"; - interface Alumno { id_cuenta: number; nombre: string; @@ -36,8 +34,8 @@ function QuitarSancion({ data }: Props) { return (
-
-
Ubicación Nombre Plataforma
+
+
@@ -49,7 +47,7 @@ function QuitarSancion({ data }: Props) { - {data && data.alusancion.length > 0 ? ( + {data && data.alusancion.length !== 0 ? ( data.alusancion.map((item) => ( diff --git a/app/Components/Reportes/porRecibo.tsx b/app/Components/Reportes/porRecibo.tsx index 8590296..fad6966 100644 --- a/app/Components/Reportes/porRecibo.tsx +++ b/app/Components/Reportes/porRecibo.tsx @@ -10,8 +10,8 @@ interface reportes { function PorRecibos() { const [reportes, SetQuitarSanciones] = useState([]); return ( -
-
ID
{item.id_alumno_sancion}
+
+
diff --git a/app/Components/Reportes/porServicio.tsx b/app/Components/Reportes/porServicio.tsx index 0259344..79bd278 100644 --- a/app/Components/Reportes/porServicio.tsx +++ b/app/Components/Reportes/porServicio.tsx @@ -13,8 +13,8 @@ interface servicios { function PorServicios() { const [recibos, setRecibos] = useState([]); return ( -
-
Servicio
+
+
diff --git a/app/globals.css b/app/globals.css index d6fa085..896688b 100644 --- a/app/globals.css +++ b/app/globals.css @@ -219,7 +219,6 @@ button { align-items: center; justify-content: space-between; width: 100%; - max-width: 450px; } .button { @@ -295,6 +294,7 @@ a { margin-top: 1rem; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); overflow: hidden; + min-height: fit-content; transition: box-shadow 0.3s ease, transform 0.3s ease; } @@ -310,6 +310,7 @@ a { align-items: center; padding: 5px 0; border-bottom: 1px solid #e5e5e5; + height: 35px; } .informationItem:last-child { @@ -324,7 +325,7 @@ a { .informationValue { color: #555; - font-size: 1.5rem; + font-size: 1.25rem; } .title { @@ -364,6 +365,8 @@ form { border-radius: 4px; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + height: 100%; + overflow: hidden; } .toggleGroup { @@ -397,6 +400,12 @@ form { border-bottom: none; } +.toggleContent { + overflow-y: auto; + height: 450px; + scrollbar-width: none; +} + p { font-size: 1.5rem; } From dc5292dcb3ea34fd6dfb2c5426dc18926c70cf93 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 14 Oct 2025 14:28:25 -0600 Subject: [PATCH 07/27] modified styles tables --- app/Components/BitacoraSanciones/BitacoraEquipo.tsx | 2 -- app/Components/Equipos/tableequipos.tsx | 2 -- app/Components/Reportes/porRecibo.tsx | 1 - app/Components/Reportes/porServicio.tsx | 1 - 4 files changed, 6 deletions(-) diff --git a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx index a47e880..36f01c2 100644 --- a/app/Components/BitacoraSanciones/BitacoraEquipo.tsx +++ b/app/Components/BitacoraSanciones/BitacoraEquipo.tsx @@ -2,8 +2,6 @@ import SearchDate from "../SearchDate/SearchDate"; import { useState } from "react"; -import styles from "./Page.module.css"; - interface equipos { hora_entrada: string; min_utilizados: number; diff --git a/app/Components/Equipos/tableequipos.tsx b/app/Components/Equipos/tableequipos.tsx index 1be142d..a5811ce 100644 --- a/app/Components/Equipos/tableequipos.tsx +++ b/app/Components/Equipos/tableequipos.tsx @@ -1,5 +1,3 @@ -import styles from "./Page.module.css"; - export default async function TableEquipos() { return (
diff --git a/app/Components/Reportes/porRecibo.tsx b/app/Components/Reportes/porRecibo.tsx index fad6966..61dbd11 100644 --- a/app/Components/Reportes/porRecibo.tsx +++ b/app/Components/Reportes/porRecibo.tsx @@ -1,6 +1,5 @@ "use client"; import { useState } from "react"; -import styles from "./Page.module.css"; interface reportes { Servicio: "Plotter"; diff --git a/app/Components/Reportes/porServicio.tsx b/app/Components/Reportes/porServicio.tsx index 79bd278..73ef7b5 100644 --- a/app/Components/Reportes/porServicio.tsx +++ b/app/Components/Reportes/porServicio.tsx @@ -1,6 +1,5 @@ "use client"; import { useState } from "react"; -import styles from "./Page.module.css"; interface servicios { folio_recibo: "100255"; From fa9e1687839a41f8b7b1b468d928f7454548e54d Mon Sep 17 00:00:00 2001 From: tyrannusss Date: Tue, 14 Oct 2025 17:18:18 -0600 Subject: [PATCH 08/27] cambios --- app/(private)/Alta/page.tsx | 8 ++---- app/(private)/Inscripcion/page.tsx | 8 ++++++ app/Components/Alta/registerAlta.tsx | 25 ++++++++++++++++++- app/Components/Receipt/Receipt.tsx | 2 +- .../layout/BarNavigation/BarNavigation.tsx | 7 ++---- 5 files changed, 37 insertions(+), 13 deletions(-) diff --git a/app/(private)/Alta/page.tsx b/app/(private)/Alta/page.tsx index 6f534c4..a90117a 100644 --- a/app/(private)/Alta/page.tsx +++ b/app/(private)/Alta/page.tsx @@ -2,15 +2,11 @@ import RegisterAlta from "@/app/Components/Alta/registerAlta"; import "./style.css"; -export default async function Page(props: { - searchParams?: Promise<{ - }>; -}) { +export default async function Page(props: { searchParams?: Promise<{}> }) { const params = await props.searchParams; return (
- -

ALTA

+

ALTA USUARIO

diff --git a/app/(private)/Inscripcion/page.tsx b/app/(private)/Inscripcion/page.tsx index 6dc0f1c..50ceb74 100644 --- a/app/(private)/Inscripcion/page.tsx +++ b/app/(private)/Inscripcion/page.tsx @@ -65,6 +65,11 @@ export default async function Page(props: { Credito={student.credito} /> )} + {!student && numAcount && ( + + )} {student &&
Folio Recibo
} @@ -72,6 +77,9 @@ export default async function Page(props: { {student && ( <> +
diff --git a/app/Components/Alta/registerAlta.tsx b/app/Components/Alta/registerAlta.tsx index 5a078c4..6e43cbf 100644 --- a/app/Components/Alta/registerAlta.tsx +++ b/app/Components/Alta/registerAlta.tsx @@ -76,6 +76,28 @@ export default function RegisterAlta() { /> +
+ + setUser(e.target.value)} + placeholder="Coloca el email" + /> +
+ +
+ + +
+
- + + ); } diff --git a/app/Components/Receipt/Receipt.tsx b/app/Components/Receipt/Receipt.tsx index 4c0891d..083bdae 100644 --- a/app/Components/Receipt/Receipt.tsx +++ b/app/Components/Receipt/Receipt.tsx @@ -129,7 +129,7 @@ function Receipt({ numAcount }: ReceiptsProps) {
- +
diff --git a/app/Components/layout/BarNavigation/BarNavigation.tsx b/app/Components/layout/BarNavigation/BarNavigation.tsx index 1b8b2a0..d8b4738 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.tsx +++ b/app/Components/layout/BarNavigation/BarNavigation.tsx @@ -24,16 +24,13 @@ function BarNavigation() {
  • - toggleSubMenu(0)}>Inscripción + toggleSubMenu(0)}>Inscripciónes
      - -
    • Alta
    • -
    • Agregar Tiempo
    • -
    • Inscripción
    • +
    • Inscripción Usuario
  • From 69d6906caf49343527914946d31473c9040bdf50 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 29 Oct 2025 14:28:50 -0600 Subject: [PATCH 09/27] added new toast --- app/(private)/Inscripcion/page.tsx | 34 ++++++++++++------ app/(private)/layout.tsx | 1 - .../layout/BarNavigation/BarNavigation.css | 34 +++++++++++------- .../layout/Header/Header.module.css | 17 +++++---- app/Components/layout/Header/Header.tsx | 26 +++++++++----- app/globals.css | 31 +++++++--------- app/layout.tsx | 10 ++---- public/logo_fes.png | Bin 97362 -> 129723 bytes 8 files changed, 87 insertions(+), 66 deletions(-) diff --git a/app/(private)/Inscripcion/page.tsx b/app/(private)/Inscripcion/page.tsx index 50ceb74..1cdd901 100644 --- a/app/(private)/Inscripcion/page.tsx +++ b/app/(private)/Inscripcion/page.tsx @@ -58,28 +58,40 @@ export default async function Page(props: { {student && ( - + <> + + )} {!student && numAcount && ( - )} - {student &&
} + {student && ( + <> +
+ + + )} {student && ( <> -
diff --git a/app/(private)/layout.tsx b/app/(private)/layout.tsx index 565678d..ae14491 100644 --- a/app/(private)/layout.tsx +++ b/app/(private)/layout.tsx @@ -9,7 +9,6 @@ export default async function PrivateLayout({ }) { return (
-
diff --git a/app/Components/layout/BarNavigation/BarNavigation.css b/app/Components/layout/BarNavigation/BarNavigation.css index 0f3debf..d7be174 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.css +++ b/app/Components/layout/BarNavigation/BarNavigation.css @@ -1,11 +1,11 @@ .barNavigation { text-align: center; - background-color: #003e79; - padding: 0 20px; + background-color: #ffffff; display: flex; width: 100%; top: 0; - min-height: 40px; + height: 45px; + max-height: 40px; } .barNavigation ul { @@ -20,17 +20,13 @@ cursor: pointer; color: white; width: 100%; - transition: background-color 0.3s ease; + transition: background-color 0.3s ease, border 0.3s ease; font-size: 1.5rem; } .barNavigation li:hover { - background-color: #bd8c01; -} - -.barNavigation ul.active { - display: flex; - width: 100%; + background-color: #f9f9f9; + color: black; } .menuToggle { @@ -46,7 +42,7 @@ .menuToggle div { width: 25px; height: 3px; - background-color: white; + background-color: #7a7a7a; border-radius: 4px; } @@ -105,8 +101,13 @@ height: 100%; align-items: center; justify-content: center; - color: rgb(255, 255, 255); - font-size: 2rem; + color: #383838; + font-size: 1.5rem; +} + +.subMenu:hover > span, +.subMenu > a:hover > span { + color: black; } .containerLinks { @@ -142,6 +143,13 @@ tbody { margin: 0; } + .barNavigation ul.active { + position: absolute; + left: 0; + display: flex; + width: 100%; + } + .barNavigation { font-size: 15px; display: block; diff --git a/app/Components/layout/Header/Header.module.css b/app/Components/layout/Header/Header.module.css index f1773e4..3ec1a9e 100644 --- a/app/Components/layout/Header/Header.module.css +++ b/app/Components/layout/Header/Header.module.css @@ -1,15 +1,20 @@ .logo { position: relative; - filter: invert(1); z-index: 3; - margin: 5px; +} + +.center { + display: flex; + height: 100%; + align-items: center; + width: 350px; } .cedetecContainer { position: absolute; top: 0; right: 0; - width: 300px; + width: 200px; height: 100%; z-index: -1; } @@ -26,10 +31,10 @@ content: ""; top: 0; left: -20px; - width: 65%; - height: 100%; + width: 100%; + height: 30px; min-width: 300px; - background: linear-gradient(to right, #bd8c01, #f9f9f9); + background: linear-gradient(to right, #bd8c01 40%, #fff 100%); transform: skew(-45deg); z-index: 0; } diff --git a/app/Components/layout/Header/Header.tsx b/app/Components/layout/Header/Header.tsx index ac8c4d1..1063eda 100644 --- a/app/Components/layout/Header/Header.tsx +++ b/app/Components/layout/Header/Header.tsx @@ -1,8 +1,13 @@ +"use client"; import Image from "next/image"; import header from "./Header.module.css"; import Link from "next/link"; +import BarNavigation from "../BarNavigation/BarNavigation"; +import { usePathname } from "next/navigation"; function Header() { + const pathname = usePathname(); + return (
-
- +
+ {pathname !== "/" && }
); diff --git a/app/globals.css b/app/globals.css index 896688b..c17a6c6 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,12 +1,12 @@ * { - padding: 0; - margin: 0; color: #333333; } *, *::before, *::after { + margin: 0; + padding: 0; box-sizing: inherit; } @@ -34,38 +34,36 @@ main { header { display: grid; grid-template-columns: auto 1fr; - padding: 5px 40px; + padding: 0 20px; position: relative; - overflow: hidden; - background-color: #f9f9f9; z-index: 1; - height: 70px; + height: 90px; + align-items: end; } header::after { content: ""; top: 0; - left: -40px; + left: -45px; position: absolute; background-color: #003e79; height: 100%; - width: 30%; - min-width: 300px; + min-width: 350px; transform: skew(45deg); - z-index: 1; + z-index: 2; } header::before { content: ""; top: 0; - left: -20px; + left: -25px; position: absolute; background-color: rgb(1, 92, 184); height: 100%; - width: 30%; - min-width: 300px; + width: 10%; + min-width: 350px; transform: skew(45deg); - z-index: 1; + z-index: 2; } footer { @@ -88,7 +86,6 @@ footer p { .mainContainer { position: relative; display: grid; - grid-template-rows: auto 1fr; align-items: center; justify-items: center; height: 100%; @@ -588,10 +585,6 @@ table td:last-child { border-radius: 0; } - .mainContainer { - grid-template-rows: 40px 1fr; - } - .img { background-image: url("/rock.jpg"); right: 50%; diff --git a/app/layout.tsx b/app/layout.tsx index bb5e5fe..7c6a5a1 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,5 +1,5 @@ import type { Metadata } from "next"; -import { Poppins } from "next/font/google"; +import { Inter } from "next/font/google"; import Header from "./Components/layout/Header/Header"; import Footer from "./Components/layout/Footer/Footer"; @@ -7,11 +7,7 @@ import Footer from "./Components/layout/Footer/Footer"; import "./globals.css"; import { ToastProvider } from "./Components/layout/ToastProvider"; -const poppins = Poppins({ - variable: "--font-poppins", - subsets: ["latin"], - weight: ["400", "600", "700"], -}); +const inter = Inter({ subsets: ["latin"], weight: ["400", "700"] }); export const metadata: Metadata = { title: "Servicio AT", @@ -27,7 +23,7 @@ export default function RootLayout({ }>) { return ( - +
{children}
diff --git a/public/logo_fes.png b/public/logo_fes.png index ac3aec20e72f87f635d3ed8619366b6b54103684..01cc19c587efb57665b8b198eb0568262a11bb0c 100644 GIT binary patch literal 129723 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 z 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
tJMMa483Q!g0 zetv~!LHKC`xmbUsj=7te z>uoBdFNW6W3_C;56{7IC1K&DWU@xTGzWB2hslM`THLbWTFO3(Qa<3Szt z-wS7Dw|XKlfbeVA<0d?s%miLid^n6vBIwA#!~>ASiGRgM5gb$*`L-GNA{>)4>$@vd z$>PE6bUyYE(%V9iNwgsL-=y8RSA=eL(6;dihc)%vU#RxlC%D(xpyZI0o<#^Qr2O(& z=@I^=g3Rk6@)yg|l@P%dRJw4evAzX`MOgn~_{BO;AO1@o*77f8-lkx@-FTL%7teZE zB>Jbj?RrWNMG|WHYLEB)ACfEL{aR8Ez1VKQn(7scYwg3N=GgVC2IK)93r-e^p)Xgw zBr#VkW{A`X5{%U1lw{cR1o}YhFkhZfqt*8Siz9yM4y5r>U7Nl)&ODF>qhpd=9_Y(> z5iH`qeBTz)U<{*za#6GxGs#gW4f}Oz#XKek z0!BLb*x=#osQYO0v;ATze;TyL>95mh2lRf`U?Y|n*KL5HubL;)zeGPnL zfeC$yGF@W360Cl1G9@_(EjR0oaTg^vza+i#K4K+{(a)C(9X5Ggf(LpQM}8s&UBsGS z=3T}L_*$!$yMc*P@Gv~_9^@x&V;*h;rtw{JD2W_&P;@ z6SJ|+OLnU;MT)5#ggMX2wgNQZZ(#Qq*$^f|sE&bYsOmSb+9>-msQVw`t?X2Lf7~F8 z#WElB%lDZwo5?qIPse;07V4Z6f5ye3?SDrR1h%y6eWIE9V>l553EgIP^0}{NwTF$_ z7w`AIMAu6)Mz9uioKG=w6af|NFdIxmUg;qzR;yd{A!lv(%@#2PQw{MLS`#61?%~vJ zMd$S4Z*=U|6Uc+*0ECtNwr2#ufOp>#E13Eb;ML?g6|)~2x04!@x3TP+L4RcL%}8|+ zw%3MY?1Yp{u9!CL!mpSY9&g$)Jb+kNpHL7(%*zgF>}MCyA&(Mrh%*9;VH0{-v%Dki zusInQrUs*;a+cEdHWM(6Q__hm za8vcSK3t5kh%?Afj8&Z(b^rN?12T*;Lg_RB!n9b=A2aVF5g`5RJy+n92s#^uTjJU) z&T{L%HvCcZS`ZpY}aR7P;w$bRi{%pv^>NqaL=Z9kGWgI8^uP3$eH#&8LZF zBBBh2~`Je_E-E^;Sw68VwOXKs0@j#LvC(gbjSpBaxViJKSd}?6Sch z^(SZ`OONVKDT~rhWda^@LErqvxVWBKm<(V;EqUpyMLbJZfXkR882l7V7&rLiQQ|nl z;&kr&2VAg@ao6}@==htiar?MIk!eb+{tfJ&=+lV_uO<_bZML#4bXu@F9*$#J zPm}1aiC$nO=<>Ytsbv(55XWGy06 zSU@;RR8#92hOunlx_Q1O>n`}lC$#~)ygeh(BDfSoxM43Jf*kQ3u>|AGcZJkE`wsB6 zX!Sckn0?M?BW1(z?ZM<~uXX99X6 z61M1OHCgb9HFkcOcm}>N?g#+};&eq!pdRZtdx}+)9>kRdHR8JjJ##Nmoc`5dPX3FL z0F;iVMq$CR?l@(JJ|_RJ&s&hfHf4>w_QhX)5vZGX?gh2-H2t2t4q#;KGWnSvduhMvyTikG^9xR*pVO}}IS7((H!?@pYb;ySW_bSN6!m;vHV1Yl#u!h=fjg9DH6Hvqp)O{GNBcd$0*g$N- zOC4iF@TP0&YU6zbq5yjLd#j&^Tbm(nK7-AtI`(3>LJz0<4|E_7%JMx*>>DQR4@9&p z+t##!!+^RHMu*ZvDJoy)c6|Afxvd9MEWR9udaq-(`F_Ez}Y0t#R2)zz$ zCk_| zHaC(-V63zVX92||0^c&H9EW4@{93j}*4bf53B8PgpxnW+nZcu@I~!?4FU^78{7-)E zxUwnu!ujpc7%}=-SCJTbNRc5#w6^e`E&^}d6oUlC^}V8ucWVAi^Zg&>>7|X&Jul;d z!FR&0Y=c*3HAH#fh=#6xIWird@o(guayArj2EJ7N#&SUpb;SEfP8)T_!cep2cydR=JUz<1 z`&L{gX>Jt5r$;Kv1npDc9uwg0GnH*3k@5Z>luP#1(S0@FwmcrTbuZ(w?YJtum+8>F zW>dAuvcZ-|M`H8#IxN;3z zN0~86leVY+DgD-1FBJbc)#eer=~gmsZP*<`irHmec)~>)w%(xI#*7HY&G=(HrXW#z zf+Qy4>ty-qbXaJHc0$8P+ozS{F3NKs6cwh5`odgjyW-)cdshmLU>G5%FVXnDGjK^k zehh?X3}~Cr^@L#j==?)ESQX=IRko!mPjuYxzyd0$|GbtPbHQ(GFmBy*=vlt=9kM^>) z1iMR|vLms?khKFh$t(74bIxjVuX%x7SjnfjAz#LAYD6~aS&_*swl2ZB#}U8nO?)H% zzA96A$hT(+J@$D@KD_um2AH&CF zAgc@3=c17fgHx(|6id7y?95b`0gvuDTw&GVpc*Scj3L|(lYXv-9*1C0X(!}M>Wg#b za8X5mUs)8}q-?(}b$=)}ks+K5x4Nm#4RcakSvcGyFuhj@Kw)-Dg=w@DPvDfx7rcB)vE(eh{%*0g8IUJuzV5 zKpVJL_YIGud~|hUV6kG(>UDbFLZ<-227TSlZG`93XXzFg^XdG`m!yvs=zl+$go*Cs z!sUF!3O(1c>!67KtX_9=5sHmfB(u~!pEoAp)$sEA`1C~pmLl-Nr~QU1neO?$SgZi* z_Tc^}jXaI&qp6AdSSqEDj{53G>cl@jHxV}+VeFGM!-VGI5wD;?Orq{PS^Ko<5z5Wp zkx}d1xOJj#_T23kXvR>6=)jy1rBkxLSPo^BO4Z}?Ym0yu{Q6Xw7N;*A!E`NsRDn%k zc8M7YD@TzrSIp#qqCk1^2-YdDc+@&^EG9VK$N)Rp@NcC1$!4;ZnzXkJeZ~|UDjDZJ z*h1h%Y~Bc*EbU2NuL-pisxqcc5Ay8&qr99R>a$xA6cC8$`69!WO70B!F^cHUZWa#X zbjXhphQC-d&}7h2q00!Uguk_GInV&DiDi7_Vse)xtuT z;KG1`ntBax7tG?WF(WhC`bi5)HCZqgCpofew&Bg9)NqF&e%FG9e2lPE@d(1-=pGj+ z=s~|^d5JQ?0_u&*ynq6MWWT0f*j`B>7%w@{hIXaxRacibawm(OKB24M6z)^DzK~fN zBDwo**KcEycsc7Mmc<|6`d+dPgC_^!@6XzuBkKcuG0ZwKPE!&SUX1BeUvs@gS407M z4)qxk&zN*Ar#o3oD>3O77`MACux|)DcxSa)p*vQwVJsie$1&|j=}AyI*62--=?{`Z z57zF_2A}`@AP2hzt;8=KDT^~7%n&YD4YKdDaesGgW}O=~Y2*SCXR`)=p7*zz`So>5 z3l$Ha{`K-RSv2K(S5(4k0B>V`K`Svm5jtk`B8b_dDQw<}&aD+^9%G!Ej+CxiKc6f3 z=9q>v=QH#?@SZrNbcEw{i^lN_MTRna-wm&fvw+1@@G@hV;5aGJSv9C@y*S`WcUn?K z8ZB!n?_1VIhD#|*Wj#Dejc~l!qTOTMDT_lKE0I$jsNxgfD5~;i$#33scho*135*SOent6>yl^6$Gq+go!6e{wiCU0$3GmD1xs_Z;!9jej zVj>`f!}#P_5!gFO=1}VOY>oW&S)T|IsX2Sx4B~rODeGT2S~lOqJwtgxrJJ6~wvyaU zp(mlbjZBya#26llYZ(hzafBW1oZ*p;_z~G7Y=S>^MY~XuD79bhbj#EzSu!pctw!o| z8|+>zoy9HZ(JkSLk?ZrKx3;sq3ie-x97*T#E=7%UWS2f=Gg$&-WN zjHT(Q({PztZBPwG@oPY9#i{H}Nf3(tVo{~Sqg^~EVu?cC(c0Q24gc&|2A1|A z_{op2*+V$){Ua)@oYk`(3A1CTw)GPuk&M%!a4gJA?Qj>s4%Q6O+5{#yMrY`}26V1p zdRB1>J1g$`0U3wL%!2-aFGrllw;|5o=AF9FPO`A%KA=C`U=r$-7X&zbp^Lh95un=s zlNEMNh&fjJ=ooUpyOHg)K2=pF5 z_36O#zx59t3X@X_%>A>jMU;@F4OUG~f-&Aq`!!=VUIA~`6x0?{ai`BeCEw1MLRgdV z@9;Y=I{#RCcB9)c@V~w~dgh)0CDgqqdoylg#Jz6JVa)X)%F;$%59yd|jUU6S$2}jF@WT8@QM}VD`@f|Ct_IA@As`)}FFPgOgj)56lff+W&>qK_0puH4A$VY4 zW5nL)LGHZg$AllxGV23Bmbc8!OdC_EOV4?rZ=bz29e?ARmeis-4`geCiZZ20(Kh1=te9-Yl?Y;lW+ zCEy_Xxa(w43Ah~;<#?{^Xc44Is$E$(_Ani7qi4PG8*hJU!kWha57FX6xXcG@JQ)#V zAqc6uN*C;gY^*MJb+!DG^k|vKj8w?mC%)is9`4FpSQl0ai`(U}4ioI=yRg>N;tq)4 zb7n8$V$iSkl)JP!+>s;o%SZ76_s+2=#@h2KW1c$y9_l7p#NCZ&SjqIq*?q;hqG6y> z1cD1X$;1w&%3YN8fMeQ{L`+lUaCRy8ZEY~lg;I)J6@?wUE>Hctr&Ohqikx?ruhhP# z&1)>jDL18=z_zw=1J3`1>%CwHw!#v}4}B3fRSy zjJD9NzK?6uYQe<$4`sNlOJsMpGg%OyVNppm*P%S`ab=ogmyE%##RwT9{) zgJTjlM{4fVsVUK&{<}I}d}{#7bVQZhD2s1b9uH&tTZq>%T9m z9svDf88y}pbRL9L&|3Cvt0QC@oe=rTwt(97A8Ir-=AQ#<@i=5>p0PIK3lGA18{{r! zr~89b#HRfA8B>$G*Bc-byuO={IFGu(l)OjAuFSzia{36#oVUtpp6)>wroVUOe=5rd zo`xQUcgmQC;|2IXyi=S0VmHZtr*x6g(;(>o{)*a_divbzVTTlkNIE)aFopd6@Mmu< zsRiABTWt(^T9cY`n8r5ikGBDZNjGnO9$6TUqRy>WZUJ7QvG2y?#=2w5DJ90zZAa~B z3^0X+?bIp1y%G~f%3U$_%IZh*5q+8V-Pz)^S4<0L)?TvsJ@$lC<~PRmQjRt6FtWef zTPu*9T$kJ%Z$KlgioN+71FPyh<<=s6&B;?V&>^4fP@xbGmq<&Rwz)12=nsP!T6xuT z=75bjXPzwwnIXKF^8MYfo5OnAsn>K>dOHh7#zzF&euhGgM>1w?uGzlCA^aPqbKW)> zlEPX!BNmS<^Oc(7j49gR(>W!QVV#xGXQD#?lol#Wb$_SN)XA-ty0>U%wapa6JU-43 zU5_pIk{C0&C!g{m`7-GA1YC`E_PF9O*IL-sc*uHq+VC60v-dEVyoSzlX?jxm4!=(O@}R5P zy}1w?=h8bajlni>OdX36m*O3ADuqNj;-6T!4{d8q-)Pj!h{|jsck~^t7RVd*l)s<$ z?WV_##j82}s%>V+l5xP9m}P3adONgzJ#{(m$)bhx+G(mZ^++?GxKv+eO4WEREtK)Q z4Pf%gj+^*czmH64x2x2-2a79r{R4)Ti|K0!=t$!cagWXg@btYO$uBa+&xs4#w2g_E z+@kXRCoV-1@80XDP25cfl4cadC9-G2WV+*Pd5lo79uNKwpZD1$2sT6z=KxYNkg~9E z{eB}U`d(2`tKb7-7h4|SHOEPGC>~eE=#svf=&`?bW2}2!vgv_y1nx+1)949#ayn+c zV2OoNb(D*NNwR!qp%d4Pc_~|xO@wy&;=%E|AUVK_zU5aZ+n{$Mr8bQZPIe}9Dwdn+- z5WRC(o(w=OwTW^oSb5>BuP~djSm~G=DjcKTyd$fJ$qN*Yy_0HQufnl{cR<{=TTdE) zLRZfb)94aW2(;OLo&U|Q4DpE8R4SoNzShI&GU`B#{mX{&EYBrJ*Xr1v1AHx*Ci;Re@m!nCB8OfaKPtv*Rh{SW$ z_`{N839ugU$LP0x!l!#C3Zqm}N}@Iu9uw}YA2WMz!yO_QR22}JUx4&1^qE+eUDund zELhz;I=y%#A9R(!BPW7psPEZ!BYr3U;6fX(>&BeeZCO(M*#8|MzkC32E&9$R<JZnRYe5@R+R&Lt{k9k#w^+~1kiUSVSZUxgyqrm3bD}{Ok60M@#Yor zP+d!aP<%Zl*6wU5Tu0o)|6KeSE14k>nc$M=&zk1`dSjMgYZ4S(H*{_zrgP2s{5$nj zr4~Way3Uziu7g}`)XpH?DmGy5IkMp;@JXYyQJKSlRqhK zU7;j@fEQtcmIdfhV>;_hvQ>AZaeW?ZIlA$-WNxrb4UTw@vT)&CYjR;L z;Hf;7|MA(b#QXvTHfHRYlpj#bHjWbQNK3LH)2|7TN8myg*nM64tszco(2)1qmK6>H z5B_L_bM0Ceu8M$XILAE=bvrwDo1IH3^qF3YcNsKYPFQQ2T?Hme_sY_C4K~kzmw!BR zp}geSyt+_;+AwsiztthHvN`Yu=ak)SA`4L%1!?X5fS zm_Xh02A-TV6QTPAdvm#$$mAElu4v#Gj784`zxEa;+sVGUW#jK6&Cm?h=#zm??%s7s zYaUE8s|{{*9$UMn+=NGE-lC-SS-6?-y+D-v&*t%!{h=|(Db``^f~&1EJW+& zj~hIM%qHOW)R<{Ow3YmnVC8AV0a>d|j%O-_CyMY~k(=~Q+D~Vw29%Ip&aQ)N;2uRv zP`EVRi8jf4NWNP&k4h(_tTtcagWE`HM6jg(-1U%mq}UhP=tFOkt0g6-;Ly8(G<;K5 zZf^aMJm2wk&8|qK*~P7#4$cdKJ>A(g)G6BlaA0m=F>lyQ*v6nVlLkjcu2m1)oGT_~ zP3IB#Kq`76b#exs-8%z`jN;!S0!xVp-g#B?Ot^kc{zayvINy&#JBzq|9HoMIZx$^H zZz?T;Gaht&9gHa$Tf38ulb#8n1}QvwF?#AyUIs}H3hvGSrMn!p@Xd8kHh1M#t)Z8S7#X0WnkUZKkmM$ z>{5G@J*#H#LA*4d#~>O6%5bN;TdC$UGAXD%9Kd2xPzRFjh+?r<=FN9R?WC8&6jh1# zi7-%9^o@dQga-WnBt4^tUrxo-u1_A>GPI*bJtSyCipE>vX@0&Pn*!4TV83xxxY0V# zlIf=j|q7~)Cu`=pdNY!qsfJ`Kus%#hUqSS z^nS)H2iyg*ZItUeN1SVL58a0-e7Aa=7dG;VUczmZ%WZGGDf;YMKCu`Yt01dG%RGr5 z7*KBPO%LqUSw>9~FEjc+eRROFl%PWis+6Q!b{0EknD4B)__?Z!dV;#`&2k2-%uSq- zU#y!wrda;+rXb&UJ*E8fXJgYSk-QmPk?x>_0@XlX&F(`K!!Pxlt~B3N`vAuAR!7br z#Jn5#G53RoAh;ExD(5woOBG+@Ml*0Bc~gA=6x)iNaUA0=_?({;El=8W8o81_E| zwobp zS-oQ!sE3-b*{icZCgo93qzpSik?T(NWq$(K#6$GMRcx=X8Hb(%$syhfEGvRE*q^D^ zC2n)GJnXWDTe5vkJCgA)CV2=g5B3E3Vq3+2NoG( z{$&-}DxZ5o@9g0VyAqJ+w)1BA>Z73AQ~#2Zx2meJ*>4tu;H8JF7XUnQ&8Lp9bnds} zOD9*L73qC}`XrYo9iJ5#Oe%CXMq7w>#tOa!>)9>E2r03oV*^C&F#mqzM&Z$hkgPIyarb`;p3Eb2d{<6K#VxTGn;RiC>qw-0HGx~yL96l~rZwanjEj3$Jq5A+qa44iJ@cN~UR6~3mN zjOU5Epq|^7d>7zyU#0c4U5`)AD8j<#iUFa&`PH59*x#M=nBgbN-<@~WkGgf5#GaLX zLbN^7Sv&l>{F0F~*F-(yTrGvrKm}mxkG~+>Qor=RDtRk}}# zn#<4MgW1;l@3pAat$m%PH?MRDO;sLoagWelxOk`R@?EAxz$8t9B-6_XSvAG}#k|LP z84l-Re>>3p8O2xzxOQgGvj65c@B_~0k3B0t`z2H%Y&XCC^N`bi#f#!=J7~_wd6fQ7 zY+HdM)Vk09jX5Z=zW6*CaQWohxjW939@gs_#ZU!mUn&ew+JEELwyV*x6lWU^{w2pk;92-X8GmXWUlBDRSX=1byY?9g~nW zpq7(cGkaXxm2@>)^}lhZh?i*L7cJxSMiR8_H#bPL_^y$|aAG_mh5)(uaz7SSA=XS zjnZAHe^Ak6h1+V!K2Da?8A|w3XfXeA$K-@`0!CURQazw(v#FadDruT!*C+o~jjzU7 zn37L1RyZmY3H`w~zmV37@%YizA92cuDkyA8Yp{i~ywsZ97l_s*u<>Bm$IV|7 zR{z)Y2crt$nZi#VuUvX^UEsok;Q}3E2Qtdg_PscshN&!vT|V^oQBFRjVL^qg$OSZi zesv>_FoslVX#5l7C%?95*t-NjQPQjZ>6)8(H{1=8wwXWJ9E<6jy>jU=2GK5+{aMH0ZZ z-Kh2^!KYyJAEF<_uizr*fbsExo}_=Oro3xG3c1dJdY2L`@}c>R-OrR$axSrOOF zCy-T>Df}T+4mz6yQ=szYK#)^}1?Of(9okud9w@H~v;WTDukJ;jP?SV^nd;!>R{}l1 zw^G);Tr2RsnS+#J08dU3vM2&RDN2;H$SO8t>VQI3Z~=SR3LpDfE&qr%S>etY$-qUR z-!gXcf75v0L}L$Fjp&AafOuiAc;{7A$x~eB8`X+ww!QYEet!fs)5aN3y%cw|3oB@H{}7N{iFkggL-82EEgZ&Sk%2EO0dbnQNUSI)PpVeLs4}? zr(S>!w*y?E|Ayc>^&qrh*#x{H{La0@c;~HPzpcBu-gppo5t@bxpop`k+B`NTwp|cW zzwin|gx*Yry?{{%2s}FoJyV$Gl}hj*Ry<~MAJU`PNL&~y3!BuclN3ZLIPRwf`OMH3x^B} zlJf6C-F1B^{_n_8u_$bUb(^zmiA<|0{;S+j;~b`_|7xZzy-)#k%N_fVF_`SUvrvzR z&3myTP!K!F6@(TXPrTmoF7M_`4DHOs#d5B1H}z~?m)TRfi8R#2F?tmbErzg%I$~a8 zkXm?PBfInZkn1UU^X8h1J?Ysfk@ME@1RsXWOF*0PknO7#?f+&ZgzptrVNwe;nC@Nj zB&aX=!|%e1S9@ROM{qHMj)I$PUjdpjaS~`D;mTQGetPO_WAwA>t9bcv`@#Qz~ki+lZg$+G+SVMA`Fb~l+De}-zI5Dt%@mu$L3ViL8 zF$bB3Jb-+M5O^Y|F9o$FCiw3$V;39=rt3h`A@ZAR6(^(6-{fA zHt4%MiemJ=rbIsiR}}dciUvUd_5FGKXBf;%F)8)m@^eyKO`kQJ;{B5(r{=goF>d7l z{_Nei0{l}FPR-G8fH(h^GbQZ Date: Fri, 21 Nov 2025 09:09:27 -0600 Subject: [PATCH 10/27] I dont know that change, but i added --- package-lock.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 6fbc9c2..7483040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -619,6 +619,7 @@ "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -759,7 +760,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/delayed-stream": { "version": "1.0.0", @@ -1142,6 +1144,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -1151,6 +1154,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, From f465f55a68f43dcd9e3453e6b0e043df6c4c09f1 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Fri, 28 Nov 2025 19:49:48 -0600 Subject: [PATCH 11/27] fix this --- app/globals.css | 3 ++- app/lib/apiClient.ts | 2 ++ app/lib/getStudent.ts | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/globals.css b/app/globals.css index c17a6c6..1c3149d 100644 --- a/app/globals.css +++ b/app/globals.css @@ -419,7 +419,7 @@ table { table th, table td { - padding: 0.85rem 1.5rem; + padding: 1rem 1.5rem; } table th { @@ -432,6 +432,7 @@ table th { text-align: center; z-index: 2; border: none; + min-height: 35px; } table td { diff --git a/app/lib/apiClient.ts b/app/lib/apiClient.ts index 4d321e6..a8943a6 100644 --- a/app/lib/apiClient.ts +++ b/app/lib/apiClient.ts @@ -46,7 +46,9 @@ apiClient.interceptors.response.use( } if (status === 403) { + if (typeof window !== "undefined") { window.location.href = "/Impresiones"; + } } } return Promise.reject(error); diff --git a/app/lib/getStudent.ts b/app/lib/getStudent.ts index 001a23b..d2d501d 100644 --- a/app/lib/getStudent.ts +++ b/app/lib/getStudent.ts @@ -1,10 +1,11 @@ import axios from "axios"; import { envConfig } from "./config"; +import apiClient from "./apiClient"; export async function GetStudent(numAcount: number) { try { - const response = await axios.get( - `${envConfig.apiUrl}/student/${numAcount}` + const response = await apiClient.get( + `/student/${numAcount}` ); return response.data; From 59274690b140c7cc3243859d6d08d0156a10ffba Mon Sep 17 00:00:00 2001 From: jls846 Date: Thu, 4 Dec 2025 18:49:30 -0600 Subject: [PATCH 12/27] comunicacion con Api --- app/(private)/Inscripcion/page.tsx | 82 +++++++++++++++++++----------- package-lock.json | 6 +-- 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/app/(private)/Inscripcion/page.tsx b/app/(private)/Inscripcion/page.tsx index 1cdd901..9bfeddd 100644 --- a/app/(private)/Inscripcion/page.tsx +++ b/app/(private)/Inscripcion/page.tsx @@ -4,10 +4,32 @@ import Receipt from "@/app/Components/Receipt/Receipt"; import Selection from "@/app/Components/Selection/Selection"; import ShowError from "@/app/Components/Global/ShowError"; import { GetStudent } from "@/app/lib/getStudent"; - import "./inscripcion.css"; import Table from "@/app/Components/Global/table"; +async function getInscripcion(idCuenta: number) { + try { + const res = await fetch(`http://localhost:5000/alumno-inscrito/${idCuenta}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + // Desactiva caché si los datos pueden cambiar frecuentemente + cache: "no-store", + }); + + if (!res.ok) { + throw new Error(`Error ${res.status}: ${res.statusText}`); + } + + return await res.json(); + } catch (error: any) { + return { error: error.message || "No se pudo cargar la inscripción" }; + } +} + +const headers = ["Inscrito", "Tiempo", "Confirmó"]; + export default async function Page(props: { searchParams?: Promise<{ numAcount: string; @@ -17,35 +39,37 @@ export default async function Page(props: { const numAcount = params?.numAcount ? params.numAcount : null; let student: any = null; + let inscripcion: any = null; let errorMessage = ""; - if (numAcount) { - const result = await GetStudent(parseInt(numAcount)); - if (result.error) { - errorMessage = `${result.error}`; + if (numAcount) { + const idCuenta = parseInt(numAcount); + + const studentResult = await GetStudent(idCuenta); + if (studentResult.error) { + errorMessage = `${studentResult.error}`; } else { - student = result; + student = studentResult; + } + const inscResult = await getInscripcion(idCuenta); + if (!inscResult.error) { + inscripcion = inscResult; + } else { + } } - const headers = ["Inscrito", "Tiempo", "Confirmó"]; - const data = [ - { - Inscrito: "WINDOWS", - Tiempo: "9 minutos", - Confirmó: "si", - }, - { - Inscrito: "WINDOWS", - Tiempo: "9 minutos", - Confirmó: "si/no", - }, - { - Inscrito: "WINDOWS", - Tiempo: "9 minutos", - Confirmó: "si/no", - }, - ]; + const tableData = inscripcion + ? [ + { + Inscrito: inscripcion.plataforma?.nombre || "—", + Tiempo: inscripcion.tiempo_disponible + ? `${Math.floor(inscripcion.tiempo_disponible / 60)} minutos` + : "—", + Confirmó: inscripcion.realizo_pago === 1 ? "sí" : "no", + }, + ] + : []; return (
@@ -68,10 +92,7 @@ export default async function Page(props: { )} {!student && numAcount && ( - )} @@ -79,7 +100,7 @@ export default async function Page(props: { {student && ( <> -
+
)} @@ -133,4 +137,4 @@ export default async function Page(props: { )} ); -} \ No newline at end of file +} diff --git a/package-lock.json b/package-lock.json index 6fbc9c2..7483040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -619,6 +619,7 @@ "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -759,7 +760,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/delayed-stream": { "version": "1.0.0", @@ -1142,6 +1144,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -1151,6 +1154,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, From f710f4df96c6463749a3d36ff25a27968243fbc8 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 8 Dec 2025 18:02:33 -0600 Subject: [PATCH 14/27] added new style and fixed send token --- app/Components/auth/Login/Login.tsx | 2 + app/Components/auth/Logout/Logout.css | 1 - app/Components/auth/Logout/Logout.tsx | 3 + .../layout/BarNavigation/BarNavigation.css | 15 ++-- .../layout/Header/Header.module.css | 83 +++++++++++++++++-- app/Components/layout/Header/Header.tsx | 45 ++++++---- app/globals.css | 40 +-------- app/lib/getStudent.ts | 20 ++++- 8 files changed, 133 insertions(+), 76 deletions(-) diff --git a/app/Components/auth/Login/Login.tsx b/app/Components/auth/Login/Login.tsx index 4cd7228..c2557fb 100644 --- a/app/Components/auth/Login/Login.tsx +++ b/app/Components/auth/Login/Login.tsx @@ -33,9 +33,11 @@ function Login() { const token = data.access_token; const payload = JSON.parse(atob(token.split(".")[1])); const usuario = payload.usuario; + const role = payload.role; document.cookie = `token=${token}; path=/; SameSite=Strict`; document.cookie = `user=${usuario}; path=/; SameSite=Strict`; + document.cookie = `role=${role}; path=/; SameSite=Strict`; toast.success("Inicio de sesión exitoso"); router.push("/Impresiones"); diff --git a/app/Components/auth/Logout/Logout.css b/app/Components/auth/Logout/Logout.css index a346fa3..88d5711 100644 --- a/app/Components/auth/Logout/Logout.css +++ b/app/Components/auth/Logout/Logout.css @@ -16,7 +16,6 @@ color: transparent; padding: 2rem; font-size: 0px; - top: 15px; } .button-logout::after { diff --git a/app/Components/auth/Logout/Logout.tsx b/app/Components/auth/Logout/Logout.tsx index 3f8ab15..580eb85 100644 --- a/app/Components/auth/Logout/Logout.tsx +++ b/app/Components/auth/Logout/Logout.tsx @@ -10,6 +10,9 @@ export default function Logout() { const handleLogout = () => { Cookies.remove("token", { path: "/" }); + Cookies.remove("role", { path: "/" }); + Cookies.remove("user", { path: "/" }); + router.push("/"); }; diff --git a/app/Components/layout/BarNavigation/BarNavigation.css b/app/Components/layout/BarNavigation/BarNavigation.css index d7be174..7a26675 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.css +++ b/app/Components/layout/BarNavigation/BarNavigation.css @@ -25,8 +25,8 @@ } .barNavigation li:hover { - background-color: #f9f9f9; - color: black; + background-color: #f3f4f6; + color: black !important; } .menuToggle { @@ -36,13 +36,12 @@ gap: 4px; cursor: pointer; padding: 10px; - margin-right: 10px; } .menuToggle div { width: 25px; height: 3px; - background-color: #7a7a7a; + background-color: #000000; border-radius: 4px; } @@ -79,7 +78,7 @@ } .subMenu ul:hover { - color: #5b8cc9; + color: #101113; } .subMenu:hover ul { @@ -103,6 +102,7 @@ justify-content: center; color: #383838; font-size: 1.5rem; + padding: 1rem; } .subMenu:hover > span, @@ -130,7 +130,7 @@ tbody { font-size: 1.25rem; } -@media (max-width: 800px) { +@media (max-width: 1000px) { .menuToggle { display: flex; position: relative; @@ -157,7 +157,7 @@ tbody { .barNavigation ul { position: absolute; - background-color: #003e79; + background-color: #fff; flex-direction: column; padding: 10px 0; align-items: center; @@ -171,7 +171,6 @@ tbody { } .barNavigation li:hover { - background-color: #d59f0f; color: white; border-radius: 0; border: none; diff --git a/app/Components/layout/Header/Header.module.css b/app/Components/layout/Header/Header.module.css index 3ec1a9e..0eb52bb 100644 --- a/app/Components/layout/Header/Header.module.css +++ b/app/Components/layout/Header/Header.module.css @@ -1,20 +1,23 @@ .logo { position: relative; z-index: 3; + object-fit: contain; } -.center { - display: flex; - height: 100%; - align-items: center; - width: 350px; +.logoContainer { + position: relative; + width: 100%; + max-width: 250px; + min-width: 200px; + height: auto; + aspect-ratio: 250/70; } .cedetecContainer { position: absolute; top: 0; right: 0; - width: 200px; + width: 300px; height: 100%; z-index: -1; } @@ -33,14 +36,80 @@ left: -20px; width: 100%; height: 30px; - min-width: 300px; background: linear-gradient(to right, #bd8c01 40%, #fff 100%); transform: skew(-45deg); z-index: 0; } +.header { + width: 100vw; + background-color: #fff; + display: grid; + grid-template-columns: auto 1fr; + padding: 0 10px; + position: relative; + z-index: 1; + align-items: end; +} + +.header::after { + content: ""; + top: 0; + left: -60px; + position: absolute; + background-color: #003e79; + height: 100%; + min-width: 350px; + transform: skew(45deg); + z-index: 2; +} + +.header::before { + content: ""; + top: 0; + left: -40px; + position: absolute; + background-color: rgb(1, 92, 184); + height: 100%; + width: 10%; + min-width: 350px; + transform: skew(45deg); + z-index: 2; +} + +.containerBarNav { + display: flex; + width: 100%; + height: 100%; + padding-left: 110px; + max-height: 60%; + align-items: end; +} + @media (max-width: 800px) { .yellowPart { + left: 0; background: #bd8c01; + transform: skew(0deg); + } + .header::after { + left: -100px; + } + .header::before { + left: -80px; + } +} + +@media (max-width: 400px) { + .header::after { + min-width: 100%; + transform: skew(25deg); + } + .header::before { + min-width: 100%; + transform: skew(25deg); + } + .containerBarNav { + padding-left: 0; } } diff --git a/app/Components/layout/Header/Header.tsx b/app/Components/layout/Header/Header.tsx index 1063eda..2bfca6b 100644 --- a/app/Components/layout/Header/Header.tsx +++ b/app/Components/layout/Header/Header.tsx @@ -4,36 +4,45 @@ import header from "./Header.module.css"; import Link from "next/link"; import BarNavigation from "../BarNavigation/BarNavigation"; import { usePathname } from "next/navigation"; +import { useEffect, useState } from "react"; function Header() { - const pathname = usePathname(); + const [role, setRole] = useState(""); + + useEffect(() => { + const cookies = Object.fromEntries( + document.cookie.split("; ").map((c) => c.split("=")) + ); + setRole(cookies.role || ""); + }, []); return ( -
+
- - -
-
- {pathname !== "/" && } +
+ +
+ +
+
+ {role === "ADMINISTRADOR" && } + {/*role === "operator" && */} + {/*role === "social" && */}
); diff --git a/app/globals.css b/app/globals.css index 1c3149d..3dab631 100644 --- a/app/globals.css +++ b/app/globals.css @@ -25,47 +25,13 @@ body { min-height: 100dvh; width: 100vw; overflow: hidden; + background-color: #f9f9f9; } main { position: relative; } -header { - display: grid; - grid-template-columns: auto 1fr; - padding: 0 20px; - position: relative; - z-index: 1; - height: 90px; - align-items: end; -} - -header::after { - content: ""; - top: 0; - left: -45px; - position: absolute; - background-color: #003e79; - height: 100%; - min-width: 350px; - transform: skew(45deg); - z-index: 2; -} - -header::before { - content: ""; - top: 0; - left: -25px; - position: absolute; - background-color: rgb(1, 92, 184); - height: 100%; - width: 10%; - min-width: 350px; - transform: skew(45deg); - z-index: 2; -} - footer { position: relative; display: flex; @@ -90,7 +56,6 @@ footer p { justify-items: center; height: 100%; width: 100%; - background-color: #f9f9f9; } @keyframes fadeInUp { @@ -571,9 +536,6 @@ table td:last-child { } @media (max-width: 800px) { - header { - padding: 6px 16px; - } .container { display: flex; diff --git a/app/lib/getStudent.ts b/app/lib/getStudent.ts index d2d501d..f4017b4 100644 --- a/app/lib/getStudent.ts +++ b/app/lib/getStudent.ts @@ -1,11 +1,25 @@ import axios from "axios"; import { envConfig } from "./config"; -import apiClient from "./apiClient"; +import { redirect } from "next/navigation"; +import { cookies } from "next/headers"; + +if (!envConfig.apiUrl) { + throw new Error("API URL is not defined in envConfig"); +} export async function GetStudent(numAcount: number) { + const cookieStore = cookies(); + const token = (await cookieStore).get("token")?.value; + + if (!token) redirect("/"); try { - const response = await apiClient.get( - `/student/${numAcount}` + const response = await axios.get( + `${envConfig.apiUrl}/student/${numAcount}`, + { + headers: { + Authorization: `Bearer ${token}`, + }, + } ); return response.data; From c1d76ef01fa3711ddf54efad1b8920c386bbc943 Mon Sep 17 00:00:00 2001 From: IO420 Date: Fri, 9 Jan 2026 14:56:39 -0600 Subject: [PATCH 15/27] new next version, new style to barnavigation and no hardcode --- app/(private)/Inscripcion/page.tsx | 7 +- .../BitacoraSanciones/TableSancion.tsx | 9 +- app/Components/SelectAreas.tsx | 7 +- app/Components/auth/Login/Login.tsx | 2 +- .../layout/BarNavigation/BarNavigation.css | 65 ++- .../layout/BarNavigation/BarNavigation.tsx | 2 +- app/Components/layout/Header/Header.tsx | 1 - app/layout.tsx | 2 +- app/lib/apiClient.ts | 2 +- app/lib/getStudent.ts | 2 +- package-lock.json | 496 +++++++++--------- package.json | 2 +- tsconfig.json | 24 +- 13 files changed, 340 insertions(+), 281 deletions(-) diff --git a/app/(private)/Inscripcion/page.tsx b/app/(private)/Inscripcion/page.tsx index d8e0acc..efa497d 100644 --- a/app/(private)/Inscripcion/page.tsx +++ b/app/(private)/Inscripcion/page.tsx @@ -6,11 +6,16 @@ import ShowError from "@/app/Components/Global/ShowError"; import { GetStudent } from "@/app/lib/getStudent"; import "./inscripcion.css"; import Table from "@/app/Components/Global/table"; +import { envConfig } from "@/app/lib/config"; + +if (!envConfig.apiUrl) { + console.error("API URL is not defined in envConfig"); +} async function getInscripcion(idCuenta: number) { try { const res = await fetch( - `http://localhost:5000/alumno-inscrito/${idCuenta}`, + `${envConfig.apiUrl}/alumno-inscrito/${idCuenta}`, { method: "GET", headers: { diff --git a/app/Components/BitacoraSanciones/TableSancion.tsx b/app/Components/BitacoraSanciones/TableSancion.tsx index d4d95d6..4e065d4 100644 --- a/app/Components/BitacoraSanciones/TableSancion.tsx +++ b/app/Components/BitacoraSanciones/TableSancion.tsx @@ -3,6 +3,7 @@ import { useEffect, useState } from "react"; import axios from "axios"; import toast from "react-hot-toast"; +import { envConfig } from "@/app/lib/config"; interface Alumno { id_cuenta: number; @@ -22,6 +23,10 @@ interface AlumnoSancion { sancion: Sancion; } +if (!envConfig.apiUrl) { + console.error("API URL is not defined in envConfig"); +} + export default function TableSancion({ idCuenta }: { idCuenta: number }) { const [sanciones, setSanciones] = useState([]); const [alumno, setAlumno] = useState(null); @@ -34,7 +39,7 @@ export default function TableSancion({ idCuenta }: { idCuenta: number }) { // Obtener sanciones del alumno axios .get( - `https://venus.acatlan.unam.mx/asignacionTiempo_test/alumno-sancion/${idCuenta}` + `${envConfig.apiUrl}/asignacionTiempo_test/alumno-sancion/${idCuenta}` ) .then((res) => { setAlumno(res.data.student); @@ -48,7 +53,7 @@ export default function TableSancion({ idCuenta }: { idCuenta: number }) { // Obtener catálogo de sanciones axios - .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/sancion") + .get(`${envConfig.apiUrl}/asignacionTiempo_test/sancion`) .then((res) => setSanciones(res.data)) .catch((err) => toast.error("Error al obtener el catálogo de sanciones:", err) diff --git a/app/Components/SelectAreas.tsx b/app/Components/SelectAreas.tsx index 0cda5ba..e03c400 100644 --- a/app/Components/SelectAreas.tsx +++ b/app/Components/SelectAreas.tsx @@ -1,6 +1,11 @@ "use client"; import axios from "axios"; import { useEffect, useState } from "react"; +import { envConfig } from "../lib/config"; + +if (!envConfig.apiUrl) { + console.error("API URL is not defined in envConfig"); +} export default function SelectAreas() { const [areas, setAreas] = useState([]); @@ -8,7 +13,7 @@ export default function SelectAreas() { useEffect(() => { axios - .get("https://venus.acatlan.unam.mx/asignacionTiempo_test/area-ubicacion") + .get(`${envConfig.apiUrl}/asignacionTiempo_test/area-ubicacion`) .then((data) => { setAreas(data.data); }) diff --git a/app/Components/auth/Login/Login.tsx b/app/Components/auth/Login/Login.tsx index c2557fb..25dc5cb 100644 --- a/app/Components/auth/Login/Login.tsx +++ b/app/Components/auth/Login/Login.tsx @@ -47,7 +47,7 @@ function Login() { return (
-

Inicio de sesión

+

Bienvenido a AT

diff --git a/app/Components/layout/BarNavigation/BarNavigation.css b/app/Components/layout/BarNavigation/BarNavigation.css index 7a26675..475b510 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.css +++ b/app/Components/layout/BarNavigation/BarNavigation.css @@ -13,6 +13,7 @@ justify-content: space-around; width: 100%; gap: 10px; + transition: width 0.5 ease-in-out; } .barNavigation li { @@ -95,6 +96,7 @@ } .subMenu span { + font-weight: bold; display: flex; width: 100%; height: 100%; @@ -113,6 +115,7 @@ .containerLinks { padding: 0 !important; border-radius: 0 0 4px 4px; + top: 20px; } .links { @@ -143,13 +146,6 @@ tbody { margin: 0; } - .barNavigation ul.active { - position: absolute; - left: 0; - display: flex; - width: 100%; - } - .barNavigation { font-size: 15px; display: block; @@ -157,13 +153,36 @@ tbody { .barNavigation ul { position: absolute; + top: 76px; + left: 0; + width: 100%; background-color: #fff; flex-direction: column; - padding: 10px 0; align-items: center; - display: none; - z-index: 1; - height: auto; + z-index: 10; + + transform: translateY(-15px); + opacity: 0; + + pointer-events: none; + + transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, + visibility 0.35s ease-in-out; + } + + .barNavigation ul.active { + position: absolute; + left: 0; + display: flex; + width: 100%; + transform: translateY(0); + opacity: 1; + visibility: visible; + pointer-events: auto; + } + + .containerLinks { + top: 20px; } .barNavigation { @@ -177,14 +196,32 @@ tbody { } .subMenu ul { - width: 100%; - border-radius: 4px; position: relative; + top: 0px; + width: 100%; background-color: rgb(1, 92, 184); + + max-height: 0; + opacity: 0; + overflow: hidden; + + transform: translateY(-5px); + + transition: max-height 0.35s ease, opacity 0.3s ease, transform 0.3s ease; + } + + .subMenu.open ul { + max-height: 500px; + opacity: 1; + transform: translateY(0); + } + + .subMenu ul { + opacity: 0; } thead, tbody { font-size: 1rem; } -} +} \ No newline at end of file diff --git a/app/Components/layout/BarNavigation/BarNavigation.tsx b/app/Components/layout/BarNavigation/BarNavigation.tsx index d8b4738..c5d7804 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.tsx +++ b/app/Components/layout/BarNavigation/BarNavigation.tsx @@ -9,7 +9,7 @@ function BarNavigation() { const toggleMenu = () => setOpenMenu(!openMenu); const toggleSubMenu = (index: number) => { - if (typeof window !== "undefined" && window.innerWidth <= 800) { + if (typeof window !== "undefined" && window.innerWidth <= 1000) { setOpenSubMenu(openSubMenu === index ? null : index); } }; diff --git a/app/Components/layout/Header/Header.tsx b/app/Components/layout/Header/Header.tsx index 2bfca6b..0b39c25 100644 --- a/app/Components/layout/Header/Header.tsx +++ b/app/Components/layout/Header/Header.tsx @@ -3,7 +3,6 @@ import Image from "next/image"; import header from "./Header.module.css"; import Link from "next/link"; import BarNavigation from "../BarNavigation/BarNavigation"; -import { usePathname } from "next/navigation"; import { useEffect, useState } from "react"; function Header() { diff --git a/app/layout.tsx b/app/layout.tsx index 7c6a5a1..60aff7e 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -23,7 +23,7 @@ export default function RootLayout({ }>) { return ( - +
{children}
diff --git a/app/lib/apiClient.ts b/app/lib/apiClient.ts index a8943a6..41d3a64 100644 --- a/app/lib/apiClient.ts +++ b/app/lib/apiClient.ts @@ -3,7 +3,7 @@ import Cookies from "js-cookie"; import { envConfig } from "./config"; if (!envConfig.apiUrl) { - throw new Error("API URL is not defined in envConfig"); + console.error("API URL is not defined in envConfig"); } const apiClient = axios.create({ diff --git a/app/lib/getStudent.ts b/app/lib/getStudent.ts index f4017b4..2f9cee3 100644 --- a/app/lib/getStudent.ts +++ b/app/lib/getStudent.ts @@ -4,7 +4,7 @@ import { redirect } from "next/navigation"; import { cookies } from "next/headers"; if (!envConfig.apiUrl) { - throw new Error("API URL is not defined in envConfig"); + console.error("API URL is not defined in envConfig"); } export async function GetStudent(numAcount: number) { diff --git a/package-lock.json b/package-lock.json index 7483040..39c6e1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "axios": "^1.11.0", "js-cookie": "^3.0.5", - "next": "^15.5.3", + "next": "^16.0.7", "react": "19.1.0", "react-dom": "19.1.0", "react-hot-toast": "^2.6.0", @@ -26,19 +26,29 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", - "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" } }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz", - "integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", "cpu": [ "arm64" ], @@ -54,13 +64,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.0" + "@img/sharp-libvips-darwin-arm64": "1.2.4" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz", - "integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", "cpu": [ "x64" ], @@ -76,13 +86,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.0" + "@img/sharp-libvips-darwin-x64": "1.2.4" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz", - "integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", "cpu": [ "arm64" ], @@ -96,9 +106,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz", - "integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", "cpu": [ "x64" ], @@ -112,9 +122,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz", - "integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", "cpu": [ "arm" ], @@ -128,9 +138,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz", - "integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", "cpu": [ "arm64" ], @@ -144,9 +154,9 @@ } }, "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz", - "integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", "cpu": [ "ppc64" ], @@ -159,10 +169,26 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz", - "integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", "cpu": [ "s390x" ], @@ -176,9 +202,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz", - "integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", "cpu": [ "x64" ], @@ -192,9 +218,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz", - "integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", "cpu": [ "arm64" ], @@ -208,9 +234,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz", - "integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", "cpu": [ "x64" ], @@ -224,9 +250,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz", - "integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", "cpu": [ "arm" ], @@ -242,13 +268,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.0" + "@img/sharp-libvips-linux-arm": "1.2.4" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz", - "integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", "cpu": [ "arm64" ], @@ -264,13 +290,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.0" + "@img/sharp-libvips-linux-arm64": "1.2.4" } }, "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz", - "integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", "cpu": [ "ppc64" ], @@ -286,13 +312,35 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.0" + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz", - "integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", "cpu": [ "s390x" ], @@ -308,13 +356,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.0" + "@img/sharp-libvips-linux-s390x": "1.2.4" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz", - "integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", "cpu": [ "x64" ], @@ -330,13 +378,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.0" + "@img/sharp-libvips-linux-x64": "1.2.4" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz", - "integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", "cpu": [ "arm64" ], @@ -352,13 +400,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.0" + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz", - "integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", "cpu": [ "x64" ], @@ -374,20 +422,20 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.0" + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz", - "integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", "cpu": [ "wasm32" ], "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.4.4" + "@emnapi/runtime": "^1.7.0" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -397,9 +445,9 @@ } }, "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz", - "integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", "cpu": [ "arm64" ], @@ -416,9 +464,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz", - "integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", "cpu": [ "ia32" ], @@ -435,9 +483,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz", - "integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", "cpu": [ "x64" ], @@ -454,15 +502,15 @@ } }, "node_modules/@next/env": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.3.tgz", - "integrity": "sha512-RSEDTRqyihYXygx/OJXwvVupfr9m04+0vH8vyy0HfZ7keRto6VX9BbEk0J2PUk0VGy6YhklJUSrgForov5F9pw==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz", + "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==", "license": "MIT" }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.3.tgz", - "integrity": "sha512-nzbHQo69+au9wJkGKTU9lP7PXv0d1J5ljFpvb+LnEomLtSbJkbZyEs6sbF3plQmiOB2l9OBtN2tNSvCH1nQ9Jg==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz", + "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==", "cpu": [ "arm64" ], @@ -476,9 +524,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.3.tgz", - "integrity": "sha512-w83w4SkOOhekJOcA5HBvHyGzgV1W/XvOfpkrxIse4uPWhYTTRwtGEM4v/jiXwNSJvfRvah0H8/uTLBKRXlef8g==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz", + "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==", "cpu": [ "x64" ], @@ -492,9 +540,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.3.tgz", - "integrity": "sha512-+m7pfIs0/yvgVu26ieaKrifV8C8yiLe7jVp9SpcIzg7XmyyNE7toC1fy5IOQozmr6kWl/JONC51osih2RyoXRw==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz", + "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==", "cpu": [ "arm64" ], @@ -508,9 +556,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.3.tgz", - "integrity": "sha512-u3PEIzuguSenoZviZJahNLgCexGFhso5mxWCrrIMdvpZn6lkME5vc/ADZG8UUk5K1uWRy4hqSFECrON6UKQBbQ==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz", + "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==", "cpu": [ "arm64" ], @@ -524,9 +572,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.3.tgz", - "integrity": "sha512-lDtOOScYDZxI2BENN9m0pfVPJDSuUkAD1YXSvlJF0DKwZt0WlA7T7o3wrcEr4Q+iHYGzEaVuZcsIbCps4K27sA==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz", + "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==", "cpu": [ "x64" ], @@ -540,9 +588,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.3.tgz", - "integrity": "sha512-9vWVUnsx9PrY2NwdVRJ4dUURAQ8Su0sLRPqcCCxtX5zIQUBES12eRVHq6b70bbfaVaxIDGJN2afHui0eDm+cLg==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz", + "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==", "cpu": [ "x64" ], @@ -556,9 +604,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.3.tgz", - "integrity": "sha512-1CU20FZzY9LFQigRi6jM45oJMU3KziA5/sSG+dXeVaTm661snQP6xu3ykGxxwU5sLG3sh14teO/IOEPVsQMRfA==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz", + "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==", "cpu": [ "arm64" ], @@ -572,9 +620,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.3.tgz", - "integrity": "sha512-JMoLAq3n3y5tKXPQwCK5c+6tmwkuFDa2XAxz8Wm4+IVthdBZdZGh+lmiLUHg9f9IDwIQpUjp+ysd6OkYTyZRZw==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz", + "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==", "cpu": [ "x64" ], @@ -604,9 +652,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.11.tgz", - "integrity": "sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==", + "version": "20.19.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", "dev": true, "license": "MIT", "dependencies": { @@ -614,24 +662,23 @@ } }, "node_modules/@types/react": { - "version": "19.1.10", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", - "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "19.1.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.7.tgz", - "integrity": "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^19.0.0" + "@types/react": "^19.2.0" } }, "node_modules/asynckit": { @@ -641,9 +688,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.1.tgz", - "integrity": "sha512-Kn4kbSXpkFHCGE6rBFNwIv0GQs4AvDT80jlveJDKFxjbTYMUeB4QtsdPCv6H8Cm19Je7IU6VFtRl2zWZI0rudQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -651,6 +698,15 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", + "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -665,9 +721,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001735", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz", - "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==", + "version": "1.0.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", "funding": [ { "type": "opencollective", @@ -699,51 +755,6 @@ "node": ">=6" } }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "license": "MIT", - "optional": true, - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT", - "optional": true - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "optional": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -757,11 +768,10 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT", - "peer": true + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -773,9 +783,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "license": "Apache-2.0", "optional": true, "engines": { @@ -862,9 +872,9 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -924,9 +934,9 @@ } }, "node_modules/goober": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", - "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", + "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", "license": "MIT", "peerDependencies": { "csstype": "^3.0.10" @@ -983,13 +993,6 @@ "node": ">= 0.4" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT", - "optional": true - }, "node_modules/js-cookie": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", @@ -1048,13 +1051,14 @@ } }, "node_modules/next": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/next/-/next-15.5.3.tgz", - "integrity": "sha512-r/liNAx16SQj4D+XH/oI1dlpv9tdKJ6cONYPwwcCC46f2NjpaRWY+EKCzULfgQYV6YKXjHBchff2IZBSlZmJNw==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz", + "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==", "license": "MIT", "dependencies": { - "@next/env": "15.5.3", + "@next/env": "16.1.1", "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -1063,18 +1067,18 @@ "next": "dist/bin/next" }, "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.5.3", - "@next/swc-darwin-x64": "15.5.3", - "@next/swc-linux-arm64-gnu": "15.5.3", - "@next/swc-linux-arm64-musl": "15.5.3", - "@next/swc-linux-x64-gnu": "15.5.3", - "@next/swc-linux-x64-musl": "15.5.3", - "@next/swc-win32-arm64-msvc": "15.5.3", - "@next/swc-win32-x64-msvc": "15.5.3", - "sharp": "^0.34.3" + "@next/swc-darwin-arm64": "16.1.1", + "@next/swc-darwin-x64": "16.1.1", + "@next/swc-linux-arm64-gnu": "16.1.1", + "@next/swc-linux-arm64-musl": "16.1.1", + "@next/swc-linux-x64-gnu": "16.1.1", + "@next/swc-linux-x64-musl": "16.1.1", + "@next/swc-win32-arm64-msvc": "16.1.1", + "@next/swc-win32-x64-msvc": "16.1.1", + "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -1144,7 +1148,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -1154,7 +1157,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -1208,9 +1210,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "optional": true, "bin": { @@ -1221,16 +1223,16 @@ } }, "node_modules/sharp": { - "version": "0.34.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz", - "integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==", + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", "hasInstallScript": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.4", - "semver": "^7.7.2" + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -1239,38 +1241,30 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.3", - "@img/sharp-darwin-x64": "0.34.3", - "@img/sharp-libvips-darwin-arm64": "1.2.0", - "@img/sharp-libvips-darwin-x64": "1.2.0", - "@img/sharp-libvips-linux-arm": "1.2.0", - "@img/sharp-libvips-linux-arm64": "1.2.0", - "@img/sharp-libvips-linux-ppc64": "1.2.0", - "@img/sharp-libvips-linux-s390x": "1.2.0", - "@img/sharp-libvips-linux-x64": "1.2.0", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", - "@img/sharp-libvips-linuxmusl-x64": "1.2.0", - "@img/sharp-linux-arm": "0.34.3", - "@img/sharp-linux-arm64": "0.34.3", - "@img/sharp-linux-ppc64": "0.34.3", - "@img/sharp-linux-s390x": "0.34.3", - "@img/sharp-linux-x64": "0.34.3", - "@img/sharp-linuxmusl-arm64": "0.34.3", - "@img/sharp-linuxmusl-x64": "0.34.3", - "@img/sharp-wasm32": "0.34.3", - "@img/sharp-win32-arm64": "0.34.3", - "@img/sharp-win32-ia32": "0.34.3", - "@img/sharp-win32-x64": "0.34.3" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "optional": true, - "dependencies": { - "is-arrayish": "^0.3.1" + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" } }, "node_modules/source-map-js": { @@ -1312,9 +1306,9 @@ "license": "0BSD" }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index c422cf7..2696614 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dependencies": { "axios": "^1.11.0", "js-cookie": "^3.0.5", - "next": "^15.5.3", + "next": "^16.0.7", "react": "19.1.0", "react-dom": "19.1.0", "react-hot-toast": "^2.6.0", diff --git a/tsconfig.json b/tsconfig.json index d8b9323..e7ff3a2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "ES2017", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -19,9 +23,19 @@ } ], "paths": { - "@/*": ["./*"] + "@/*": [ + "./*" + ] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] } From 6ad6fa8ebc98818d155a15051ed5af5af96b60f0 Mon Sep 17 00:00:00 2001 From: IO420 Date: Fri, 9 Jan 2026 15:02:22 -0600 Subject: [PATCH 16/27] added new start --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2696614..86b1f6a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "next dev --turbopack", "build": "next build", - "start": "next start", + "start": "source ~/.nvm/nvm.sh && node --version && nvm use 22.10.0 && npm install && next build && next start -p 3356", "lint": "next lint" }, "dependencies": { From b5d4b355aca6b97863bfd213713c5f49dddc772a Mon Sep 17 00:00:00 2001 From: IO420 Date: Fri, 9 Jan 2026 15:15:55 -0600 Subject: [PATCH 17/27] added matchers --- middleware.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/middleware.ts b/middleware.ts index f068a83..0f47ec8 100644 --- a/middleware.ts +++ b/middleware.ts @@ -13,6 +13,23 @@ export function middleware(request: NextRequest) { } export const config = { - matcher: [], + matcher: [ + "/Reportes", + "/Monitor", + "/QuitarSancion", + "/Programas", + "/Mensajes", + "/Inscritos", + "/Inscripciones", + "/InformacionEquipo", + "/Impresiones", + "/CambiarPass", + "/BitacoraSanciones", + "/AsignacionMesas", + "/AsignacionEquipo", + "/Alta", + "/AgregarTiempo", + "/ActivosMantenimiento", + ], }; //IO From bb701b49bf1fd738f258ba6089810ab2c30ba76b Mon Sep 17 00:00:00 2001 From: IO420 Date: Fri, 9 Jan 2026 15:29:35 -0600 Subject: [PATCH 18/27] excluding root --- middleware.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/middleware.ts b/middleware.ts index 0f47ec8..a53c0d2 100644 --- a/middleware.ts +++ b/middleware.ts @@ -2,10 +2,15 @@ import { NextResponse } from "next/server"; import type { NextRequest } from "next/server"; export function middleware(request: NextRequest) { - const token = request.cookies.get("token"); + const token = request.cookies.get("token")?.value; + const pathname = request.nextUrl.pathname; + + if (pathname === "/") { + return NextResponse.next(); + } if (!token) { - console.log("No hay token, redirigiendo a la página de inicio de sesión"); + console.log("No hay token, redirigiendo a login"); return NextResponse.redirect(new URL("/", request.url)); } @@ -32,4 +37,3 @@ export const config = { "/ActivosMantenimiento", ], }; -//IO From e573755df306f62d61c251be805adfa397c5b88a Mon Sep 17 00:00:00 2001 From: IO420 Date: Fri, 9 Jan 2026 15:33:46 -0600 Subject: [PATCH 19/27] IO --- middleware.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/middleware.ts b/middleware.ts index a53c0d2..054e280 100644 --- a/middleware.ts +++ b/middleware.ts @@ -37,3 +37,4 @@ export const config = { "/ActivosMantenimiento", ], }; +//IO \ No newline at end of file From 4d56b54bf0e6d4b55956d4294528190e54ae3ee7 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 12 Jan 2026 13:57:08 -0600 Subject: [PATCH 20/27] fixed navbar --- app/Components/layout/Header/Header.tsx | 5 +++-- middleware.ts | 6 +++--- package.json | 2 +- tsconfig.json | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/Components/layout/Header/Header.tsx b/app/Components/layout/Header/Header.tsx index 0b39c25..b70c1f2 100644 --- a/app/Components/layout/Header/Header.tsx +++ b/app/Components/layout/Header/Header.tsx @@ -40,8 +40,9 @@ function Header() {
{role === "ADMINISTRADOR" && } - {/*role === "operator" && */} - {/*role === "social" && */} + {role === "SUPER ADMINISTRADOR (quita sanciones)" && } + {role === "SERVICIO SOCIAL" && } + {role === "ATENCION A USUARIO" && }
); diff --git a/middleware.ts b/middleware.ts index 054e280..e39f043 100644 --- a/middleware.ts +++ b/middleware.ts @@ -5,11 +5,11 @@ export function middleware(request: NextRequest) { const token = request.cookies.get("token")?.value; const pathname = request.nextUrl.pathname; - if (pathname === "/") { - return NextResponse.next(); + if (pathname === "/" && token) { + return NextResponse.redirect(new URL("/Impresiones", request.url)); } - if (!token) { + if (!token && pathname != "/") { console.log("No hay token, redirigiendo a login"); return NextResponse.redirect(new URL("/", request.url)); } diff --git a/package.json b/package.json index 86b1f6a..2696614 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "next dev --turbopack", "build": "next build", - "start": "source ~/.nvm/nvm.sh && node --version && nvm use 22.10.0 && npm install && next build && next start -p 3356", + "start": "next start", "lint": "next lint" }, "dependencies": { diff --git a/tsconfig.json b/tsconfig.json index e7ff3a2..74f6560 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "react-jsx", + "jsx": "preserve", "incremental": true, "plugins": [ { From 2126b43c718702e1e62398391d0f5f79cd9d184b Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 13 Jan 2026 18:51:56 -0600 Subject: [PATCH 21/27] fixed informacionDeEquipo.equipos --- app/(private)/AgregarTiempo/page.tsx | 12 +- app/(private)/Inscripcion/page.tsx | 18 +- app/Components/AsignacionMesas.tsx | 29 +++- app/Components/Equipos/equipos.tsx | 123 +++++++++----- app/Components/Impressions/impressions.tsx | 2 +- app/Components/Receipt/Inscripcion.tsx | 154 ++++++++++++++++++ app/Components/Receipt/Receipt.tsx | 2 +- .../layout/BarNavigation/BarNavigation.css | 13 +- .../layout/Header/Header.module.css | 2 +- app/globals.css | 3 +- app/lib/getRegisterStudent.ts | 34 ++++ 11 files changed, 317 insertions(+), 75 deletions(-) create mode 100644 app/Components/Receipt/Inscripcion.tsx create mode 100644 app/lib/getRegisterStudent.ts diff --git a/app/(private)/AgregarTiempo/page.tsx b/app/(private)/AgregarTiempo/page.tsx index ab80f55..e5d16b0 100644 --- a/app/(private)/AgregarTiempo/page.tsx +++ b/app/(private)/AgregarTiempo/page.tsx @@ -1,12 +1,11 @@ import SearchUser from "@/app/Components/Global/SearchUser/searchUser"; import Information from "@/app/Components/Global/Information/information"; import Receipt from "@/app/Components/Receipt/Receipt"; -import toast from "react-hot-toast"; - -import { GetStudent } from "@/app/lib/getStudent"; import "./addTime.css"; import Selection from "@/app/Components/Selection/Selection"; +import ShowError from "@/app/Components/Global/ShowError"; +import { GetRegisterStudent } from "@/app/lib/getRegisterStudent"; export default async function Page(props: { searchParams?: Promise<{ @@ -15,13 +14,14 @@ export default async function Page(props: { }) { const params = await props.searchParams; const numAcount = params?.numAcount ? params.numAcount : null; + let errorMessage = ""; let student: any = null; if (numAcount) { - const result = await GetStudent(parseInt(numAcount)); + const result = await GetRegisterStudent(parseInt(numAcount)); if (result.error) { - toast.error("Alumno no encontrado"); + errorMessage = `${result.error}`; return; } else { student = result; @@ -30,6 +30,8 @@ export default async function Page(props: { return (
+ {errorMessage && } +

AGREGAR TIEMPO

diff --git a/app/(private)/Inscripcion/page.tsx b/app/(private)/Inscripcion/page.tsx index efa497d..1d08034 100644 --- a/app/(private)/Inscripcion/page.tsx +++ b/app/(private)/Inscripcion/page.tsx @@ -4,10 +4,12 @@ import Receipt from "@/app/Components/Receipt/Receipt"; import Selection from "@/app/Components/Selection/Selection"; import ShowError from "@/app/Components/Global/ShowError"; import { GetStudent } from "@/app/lib/getStudent"; -import "./inscripcion.css"; import Table from "@/app/Components/Global/table"; import { envConfig } from "@/app/lib/config"; +import "./inscripcion.css"; +import Inscripcion from "@/app/Components/Receipt/Inscripcion"; + if (!envConfig.apiUrl) { console.error("API URL is not defined in envConfig"); } @@ -123,20 +125,8 @@ export default async function Page(props: { {student && ( <>
- - - - +
)} diff --git a/app/Components/AsignacionMesas.tsx b/app/Components/AsignacionMesas.tsx index 2af6100..b87282a 100644 --- a/app/Components/AsignacionMesas.tsx +++ b/app/Components/AsignacionMesas.tsx @@ -1,19 +1,34 @@ "use client"; -import { SetStateAction, useState } from "react"; +import axios from "axios"; +import { SetStateAction, useEffect, useState } from "react"; +import { envConfig } from "../lib/config"; + +interface mesas { + idMesa: number; + active: number; +} export default function AsignacionMesas() { const [tiempo, setTiempo] = useState(""); + const [mesa, setMesa] = useState([]); + + useEffect(() => { + const getMesa = async() => { + const response = await axios.get(`${envConfig.apiUrl}/mesa/activo`); + setMesa(response.data); + }; + getMesa() + }, []); + return (
- {Data && ( + {data && (
- + setUbicacion(e.target.value)} /> - + setNombre(e.target.value)} + /> - setIdPlataforma(Number(e.target.value))} + > + + {plataforma.map((plat) => ( + + ))} - - setIdArea(Number(e.target.value))} + > + + {area.map((a) => ( + + ))} -
- - + +
+ +
)} diff --git a/app/Components/Impressions/impressions.tsx b/app/Components/Impressions/impressions.tsx index 6a03ba4..b0e9029 100644 --- a/app/Components/Impressions/impressions.tsx +++ b/app/Components/Impressions/impressions.tsx @@ -101,7 +101,7 @@ function Impressions({ costs, numAcount }: ImpressionsProps) { />
-
+
- +
diff --git a/app/Components/layout/BarNavigation/BarNavigation.css b/app/Components/layout/BarNavigation/BarNavigation.css index 475b510..6e42464 100644 --- a/app/Components/layout/BarNavigation/BarNavigation.css +++ b/app/Components/layout/BarNavigation/BarNavigation.css @@ -19,7 +19,7 @@ .barNavigation li { transition: all 0.3s ease; cursor: pointer; - color: white; + color: #585858; width: 100%; transition: background-color 0.3s ease, border 0.3s ease; font-size: 1.5rem; @@ -28,6 +28,8 @@ .barNavigation li:hover { background-color: #f3f4f6; color: black !important; + border-radius: 8px; + z-index: 2; } .menuToggle { @@ -64,7 +66,10 @@ flex-direction: column; top: 100%; width: 100%; - background-color: #003e79; + min-width: 200px; + border: 1px solid #cfcfcf; + border-radius: 8px; + background-color: #ffffff; transition: color 0.3s ease; transition: opacity 0.4s ease, max-height 0.4s ease; } @@ -102,7 +107,7 @@ height: 100%; align-items: center; justify-content: center; - color: #383838; + color: #545454; font-size: 1.5rem; padding: 1rem; } @@ -224,4 +229,4 @@ tbody { tbody { font-size: 1rem; } -} \ No newline at end of file +} diff --git a/app/Components/layout/Header/Header.module.css b/app/Components/layout/Header/Header.module.css index 0eb52bb..6ce8d21 100644 --- a/app/Components/layout/Header/Header.module.css +++ b/app/Components/layout/Header/Header.module.css @@ -79,11 +79,11 @@ .containerBarNav { display: flex; + align-items: center; width: 100%; height: 100%; padding-left: 110px; max-height: 60%; - align-items: end; } @media (max-width: 800px) { diff --git a/app/globals.css b/app/globals.css index 3dab631..6305e22 100644 --- a/app/globals.css +++ b/app/globals.css @@ -327,7 +327,7 @@ form { border-radius: 4px; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - height: 100%; + height: fit-content; overflow: hidden; } @@ -364,7 +364,6 @@ form { .toggleContent { overflow-y: auto; - height: 450px; scrollbar-width: none; } diff --git a/app/lib/getRegisterStudent.ts b/app/lib/getRegisterStudent.ts new file mode 100644 index 0000000..79437f1 --- /dev/null +++ b/app/lib/getRegisterStudent.ts @@ -0,0 +1,34 @@ +import axios from "axios"; +import { envConfig } from "./config"; +import { redirect } from "next/navigation"; +import { cookies } from "next/headers"; + +if (!envConfig.apiUrl) { + console.error("API URL is not defined in envConfig"); +} + +export async function GetRegisterStudent(numAcount: number) { + const cookieStore = cookies(); + const token = (await cookieStore).get("token")?.value; + + if (!token) redirect("/"); + try { + const response = await axios.get( + `${envConfig.apiUrl}/alumno-inscrito/${numAcount}`, + { + headers: { + Authorization: `Bearer ${token}`, + }, + } + ); + + return response.data; + } catch (error: any) { + const msg = + error.response?.data?.message || + error.message || + "Error desconocido al obtener estudiante"; + return { error: msg }; + } +} +//IO From 68d7e7920a6084bc728f605138c8a85c11f24a38 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 13 Jan 2026 19:08:23 -0600 Subject: [PATCH 22/27] get equipos --- .../InformacionEquipos/ProgramSelector.tsx | 46 +++++++++++-------- app/Components/SelectAreas.tsx | 2 +- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/app/Components/InformacionEquipos/ProgramSelector.tsx b/app/Components/InformacionEquipos/ProgramSelector.tsx index 928688a..ddacf32 100644 --- a/app/Components/InformacionEquipos/ProgramSelector.tsx +++ b/app/Components/InformacionEquipos/ProgramSelector.tsx @@ -1,13 +1,13 @@ "use client"; -import { useState } from "react"; -import SelectAreas from "../SelectAreas"; +import { envConfig } from "@/app/lib/config"; +import axios from "axios"; +import { useEffect, useState } from "react"; interface DatosEquipo { titulo: string; opcion: string[]; } -// Lista de programas disponibles const programas = [ "3D MAX STUDIO 2014", "ADOBE CREATIVE SUITE", @@ -35,28 +35,42 @@ const programas = [ "STATGRAOHICS Centurion XVI", ]; -// Mapear cada equipo a sus programas (checkboxes que deberían seleccionarse) const caracteristicasPorEquipo: Record = { "Equipo 1": ["3D MAX STUDIO 2014", "AUTOCAD", "MATLAB"], "Equipo 2": ["ADOBE CREATIVE SUITE", "COREL DRAW", "R Studio"], "Equipo 3": ["ARCHICAD 20", "EVIEWS Enterprise", "SPPS Statiscs"], "Equipo 4": ["MATHEMATICA", "MAPLE", "Maxima"], - // Agrega más equipos según necesites }; +interface Equipos { + id_equipo: number; + id_plataforma: number; + id_area_ubicacion: number; + nombre_equipo: string; + ubicacion: string; + activo: boolean; + ip: string; +} + export default function ProgramSelector({ titulo, opcion }: DatosEquipo) { - // Estado del equipo seleccionado const [equipoSeleccionado, setEquipoSeleccionado] = useState(""); - // Estado de los checkboxes (programas) const [checkboxes, setCheckboxes] = useState>( programas.reduce((acc, prog) => ({ ...acc, [prog]: false }), {}) ); + const [equipo, setEquipo] = useState(); + + useEffect(() => { + const getEquipos = async () => { + const equipos = await axios.get(`${envConfig.apiUrl}/equipo`); + setEquipo(equipos.data); + }; + getEquipos(); + }, []); const handleChangeEquipo = (e: React.ChangeEvent) => { const equipo = e.target.value; setEquipoSeleccionado(equipo); - // Actualizar checkboxes según características del equipo const nuevosCheckboxes: Record = {}; programas.forEach((prog) => { nuevosCheckboxes[prog] = @@ -65,7 +79,6 @@ export default function ProgramSelector({ titulo, opcion }: DatosEquipo) { setCheckboxes(nuevosCheckboxes); }; - // Guardar cambios (ejemplo) const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); console.log("Equipo:", equipoSeleccionado); @@ -77,17 +90,14 @@ export default function ProgramSelector({ titulo, opcion }: DatosEquipo) { return (
- - - -
diff --git a/app/Components/SelectAreas.tsx b/app/Components/SelectAreas.tsx index e03c400..596c893 100644 --- a/app/Components/SelectAreas.tsx +++ b/app/Components/SelectAreas.tsx @@ -13,7 +13,7 @@ export default function SelectAreas() { useEffect(() => { axios - .get(`${envConfig.apiUrl}/asignacionTiempo_test/area-ubicacion`) + .get(`${envConfig.apiUrl}/area-ubicacion`) .then((data) => { setAreas(data.data); }) From 74faa0fa89604d937f0e9d2f9fce53f6fcca5530 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 13 Jan 2026 19:09:52 -0600 Subject: [PATCH 23/27] delete params --- app/(private)/InformacionEquipo/page.tsx | 4 ---- app/Components/InformacionEquipos/ProgramSelector.tsx | 7 +------ 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/app/(private)/InformacionEquipo/page.tsx b/app/(private)/InformacionEquipo/page.tsx index 9645f0e..48cb160 100644 --- a/app/(private)/InformacionEquipo/page.tsx +++ b/app/(private)/InformacionEquipo/page.tsx @@ -33,8 +33,6 @@ export default async function Page(props: { content: ( ), }, @@ -44,8 +42,6 @@ export default async function Page(props: { content: ( ), }, diff --git a/app/Components/InformacionEquipos/ProgramSelector.tsx b/app/Components/InformacionEquipos/ProgramSelector.tsx index ddacf32..8885b45 100644 --- a/app/Components/InformacionEquipos/ProgramSelector.tsx +++ b/app/Components/InformacionEquipos/ProgramSelector.tsx @@ -3,11 +3,6 @@ import { envConfig } from "@/app/lib/config"; import axios from "axios"; import { useEffect, useState } from "react"; -interface DatosEquipo { - titulo: string; - opcion: string[]; -} - const programas = [ "3D MAX STUDIO 2014", "ADOBE CREATIVE SUITE", @@ -52,7 +47,7 @@ interface Equipos { ip: string; } -export default function ProgramSelector({ titulo, opcion }: DatosEquipo) { +export default function ProgramSelector() { const [equipoSeleccionado, setEquipoSeleccionado] = useState(""); const [checkboxes, setCheckboxes] = useState>( programas.reduce((acc, prog) => ({ ...acc, [prog]: false }), {}) From 589269c8812cd0deb2f924b640fc380a735623e9 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 14 Jan 2026 14:53:36 -0600 Subject: [PATCH 24/27] changed styles and now reportes work --- app/(private)/Reportes/ReportesClient.tsx | 54 +++++++++++++ app/(private)/Reportes/page.tsx | 41 +--------- app/Components/Reportes/porRecibo.tsx | 80 +++++++++++++++---- .../SearchDateBetween/SearchDateBetween.tsx | 73 ++++++++--------- app/globals.css | 2 + 5 files changed, 158 insertions(+), 92 deletions(-) create mode 100644 app/(private)/Reportes/ReportesClient.tsx diff --git a/app/(private)/Reportes/ReportesClient.tsx b/app/(private)/Reportes/ReportesClient.tsx new file mode 100644 index 0000000..4bca173 --- /dev/null +++ b/app/(private)/Reportes/ReportesClient.tsx @@ -0,0 +1,54 @@ +'use client'; + +import { useState } from 'react'; +import Toggle from '@/app/Components/Global/Toggle/Toggle'; +import SearchDateBetween from '@/app/Components/SearchDateBetween/SearchDateBetween'; +import PorServicios from '@/app/Components/Reportes/porServicio'; +import PorRecibos from '@/app/Components/Reportes/porRecibo'; + +export default function ReportesClient({ defaultKey }: { defaultKey?: string }) { + const [desde, setDesde] = useState(null); + const [hasta, setHasta] = useState(null); + + return ( +
+

REPORTES

+ + + { + setDesde(d); + setHasta(h); + }} + /> + + + ), + }, + { + key: 'Por Servicio', + label: 'Por Servicio', + content: ( + <> + { + setDesde(d); + setHasta(h); + }} + /> + {/* */} + + ), + }, + ]} + /> +
+ ); +} diff --git a/app/(private)/Reportes/page.tsx b/app/(private)/Reportes/page.tsx index a328a07..b361760 100644 --- a/app/(private)/Reportes/page.tsx +++ b/app/(private)/Reportes/page.tsx @@ -1,48 +1,11 @@ -import Toggle from "@/app/Components/Global/Toggle/Toggle"; -import SearchDateBetween from "@/app/Components/SearchDateBetween/SearchDateBetween"; -import PorServicios from "@/app/Components/Reportes/porServicio"; -import PorRecibos from "@/app/Components/Reportes/porRecibo"; +import ReportesClient from './ReportesClient'; export default async function Page(props: { searchParams?: Promise<{ key: string; - numAcount: string; }>; }) { const params = await props.searchParams; - const key = params?.key && params.key; - return ( -
-

REPORTES

- - - - - - ), - }, - - { - key: "Por Servicio", - label: "Por Servicio", - content: ( - <> - - - - ), - }, - ]} - /> -
- ); + return ; } -//IO diff --git a/app/Components/Reportes/porRecibo.tsx b/app/Components/Reportes/porRecibo.tsx index 61dbd11..bb44118 100644 --- a/app/Components/Reportes/porRecibo.tsx +++ b/app/Components/Reportes/porRecibo.tsx @@ -1,27 +1,79 @@ -"use client"; -import { useState } from "react"; +'use client'; -interface reportes { - Servicio: "Plotter"; - Total: "$1440.00"; +import { useEffect, useState } from 'react'; +import axios from 'axios'; + +interface Recibo { + id_recibo: number; + folio_recibo: string; + fecha_recibo: string; + fecha_registro: string; + monto: string; + user:{ + nombre:string; + } } -function PorRecibos() { - const [reportes, SetQuitarSanciones] = useState([]); +interface Props { + desde: string | null; + hasta: string | null; +} + +function PorRecibos({ desde, hasta }: Props) { + const [recibos, setRecibos] = useState([]); + const [loading, setLoading] = useState(false); + + useEffect(() => { + if (!desde || !hasta) return; + + const fetchRecibos = async () => { + setLoading(true); + try { + const res = await axios.post( + `${process.env.NEXT_PUBLIC_API_URL}/recibo/rango`, + { desde, hasta } + ); + + setRecibos(res.data); + } catch (error) { + console.error('Error al obtener recibos', error); + } finally { + setLoading(false); + } + }; + + fetchRecibos(); + }, [desde, hasta]); + return ( -
+
+ {loading &&

Cargando...

} +
- - + + + + + + - {reportes.map((reporte, index) => ( - - - + {!loading && recibos.length === 0 && ( + + + + )} + + {recibos.map((recibo) => ( + + + + + + ))} diff --git a/app/Components/SearchDateBetween/SearchDateBetween.tsx b/app/Components/SearchDateBetween/SearchDateBetween.tsx index 38102bb..3ccbba4 100644 --- a/app/Components/SearchDateBetween/SearchDateBetween.tsx +++ b/app/Components/SearchDateBetween/SearchDateBetween.tsx @@ -1,51 +1,46 @@ -"use client"; +'use client'; -import { useState } from "react"; +import { useState } from 'react'; -function SearchDateBetween() { - const [startDate, setStartDate] = useState(""); - const [endDate, setEndDate] = useState(""); +interface Props { + onSearch: (desde: string, hasta: string) => void; +} + +function SearchDateBetween({ onSearch }: Props) { + const [startDate, setStartDate] = useState(''); + const [endDate, setEndDate] = useState(''); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); - console.log("Fecha inicio:", startDate); - console.log("Fecha fin:", endDate); - // Aquí puedes hacer la lógica para buscar entre fechas + if (!startDate || !endDate) return; + onSearch(startDate, endDate); }; return ( - <> - - -
- setStartDate(e.target.value)} - placeholder="Fecha inicio" - /> -
- -
- setEndDate(e.target.value)} - placeholder="Fecha fin" - /> -
- - - +
+ +
+ setStartDate(e.target.value)} + /> +
+ + +
+ setEndDate(e.target.value)} + /> +
+ + + ); } export default SearchDateBetween; - -// By Tyrannuss diff --git a/app/globals.css b/app/globals.css index 6305e22..1626223 100644 --- a/app/globals.css +++ b/app/globals.css @@ -101,6 +101,7 @@ footer p { .containerForm { width: 100%; max-width: 450px; + gap:10px; } .img { @@ -390,6 +391,7 @@ table th { position: sticky; top: 0; color: #ffffff; + background-color: #2563eb; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; From adae53fb064e2b31252ca82124e91208ce3d7d08 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Thu, 15 Jan 2026 13:16:38 -0600 Subject: [PATCH 25/27] new file --- app/(private)/Inscritos/Inscripciones.tsx | 79 +++++++++++++++++++ app/(private)/Inscritos/page.tsx | 63 +-------------- .../auth/ChangePassword/changePassword.tsx | 27 ++++--- app/lib/apiClient.ts | 9 --- 4 files changed, 100 insertions(+), 78 deletions(-) create mode 100644 app/(private)/Inscritos/Inscripciones.tsx diff --git a/app/(private)/Inscritos/Inscripciones.tsx b/app/(private)/Inscritos/Inscripciones.tsx new file mode 100644 index 0000000..02924ce --- /dev/null +++ b/app/(private)/Inscritos/Inscripciones.tsx @@ -0,0 +1,79 @@ +"use client" +import { envConfig } from "@/app/lib/config"; +import axios from "axios"; +import { useEffect, useState } from "react"; + +interface Periodo{ + semestre:string, +} + +export default function Inscripciones() { + const [periodo,setPeriodo]= useState([]) + + useEffect(()=>{ + const getPeriodo = async()=>{ + const response = await axios.get(`${envConfig.apiUrl}/periodo`) + setPeriodo(response.data) + } + getPeriodo() + },[]) + + return ( +
+

INSCRITOS

+ +
+ +
+ + +
+ + +
+
ServicioTotalFolioMontofecha recibofecha registroUsuario
{reporte.Servicio}{reporte.Total}
No hay recibos en este rango
{recibo.folio_recibo}${Number(recibo.monto).toFixed(2)}{recibo.fecha_recibo}{recibo.fecha_registro}{recibo.user.nombre}
+ + + + + + + + + +
CarreraGeneroProfesoresTotal
+
+ +
+ + + + + + + + + + + + + + + + + + + +
Impresione B/NImpresiones ColorPlotteoEscanerTotal
5,00010,00010,00020,00045,000
+
+ + ); +} +//IO diff --git a/app/(private)/Inscritos/page.tsx b/app/(private)/Inscritos/page.tsx index 517f288..1181c94 100644 --- a/app/(private)/Inscritos/page.tsx +++ b/app/(private)/Inscritos/page.tsx @@ -1,3 +1,5 @@ +import Inscripciones from "./Inscripciones"; + export default async function Page(props: { searchParams?: Promise<{ period: string; @@ -6,65 +8,6 @@ export default async function Page(props: { const params = await props.searchParams; const period = params?.period ? params.period : null; - return ( -
-

INSCRITOS

- -
- -
- - -
-
- -
- - - - - - - - - - -
CarreraGeneroProfesoresTotal
-
- -
- - - - - - - - - - - - - - - - - - - -
Impresione B/NImpresiones ColorPlotteoEscanerTotal
5,00010,00010,00020,00045,000
-
-
- ); + return ; } //IO diff --git a/app/Components/auth/ChangePassword/changePassword.tsx b/app/Components/auth/ChangePassword/changePassword.tsx index e59abfc..48b7b0b 100644 --- a/app/Components/auth/ChangePassword/changePassword.tsx +++ b/app/Components/auth/ChangePassword/changePassword.tsx @@ -1,17 +1,24 @@ "use client"; import apiClient from "@/app/lib/apiClient"; import { useState } from "react"; +import toast from "react-hot-toast"; export default function ChangePassword() { - const [pass, setPass] = useState(""); - const [newPass, setNewPass] = useState(""); + const [password, setPass] = useState(""); + const [newPassword, setNewPass] = useState(""); const [confirmNewPass, setconfirmNewPass] = useState(""); const handleChangePass = async (e: React.FormEvent) => { - e.preventDefault; - const data = { pass, newPass, confirmNewPass }; + e.preventDefault(); + const data = { password, newPassword }; - await apiClient.post("/user/create", data); + try{ + const response = await apiClient.post("/user/changePassword", data); + toast.success( `${response.data.message}`) + }catch{ + toast.error( `No es la contraseña actual`) + } + }; return ( @@ -21,7 +28,8 @@ export default function ChangePassword() { { setPass(e.target.value); }} @@ -33,7 +41,8 @@ export default function ChangePassword() { { setNewPass(e.target.value); }} @@ -46,6 +55,7 @@ export default function ChangePassword() { { setconfirmNewPass(e.target.value); }} @@ -57,7 +67,6 @@ export default function ChangePassword() { @@ -65,7 +74,6 @@ export default function ChangePassword() { @@ -74,3 +82,4 @@ export default function ChangePassword() { ); } +//IO \ No newline at end of file diff --git a/app/lib/apiClient.ts b/app/lib/apiClient.ts index 41d3a64..648bbe8 100644 --- a/app/lib/apiClient.ts +++ b/app/lib/apiClient.ts @@ -37,18 +37,9 @@ apiClient.interceptors.response.use( Cookies.remove("token"); Cookies.remove("user"); - if ( - typeof window !== "undefined" && - !window.location.pathname.includes("/") - ) { - window.location.href = "/"; - } } if (status === 403) { - if (typeof window !== "undefined") { - window.location.href = "/Impresiones"; - } } } return Promise.reject(error); From d9cf535de7c2d36a457f6cb48c1615ef0625e256 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Thu, 15 Jan 2026 14:24:02 -0600 Subject: [PATCH 26/27] addded dowload --- app/(private)/Reportes/Page.module.css | 6 ++ app/(private)/Reportes/ReportesClient.tsx | 27 ++++---- app/Components/Dowload/Reporte.tsx | 59 +++++++++++++++++ app/Components/Dowload/style.module.css | 46 +++++++++++++ app/Components/Reportes/porRecibo.tsx | 80 +++++++++++++---------- public/excel.svg | 1 + 6 files changed, 173 insertions(+), 46 deletions(-) create mode 100644 app/Components/Dowload/Reporte.tsx create mode 100644 app/Components/Dowload/style.module.css create mode 100644 public/excel.svg diff --git a/app/(private)/Reportes/Page.module.css b/app/(private)/Reportes/Page.module.css index d48a3c1..7c33f48 100644 --- a/app/(private)/Reportes/Page.module.css +++ b/app/(private)/Reportes/Page.module.css @@ -67,3 +67,9 @@ .resetButton:hover { background-color: #cc0000; } + +.download{ + display: flex; + align-items: end; + justify-content: end; +} \ No newline at end of file diff --git a/app/(private)/Reportes/ReportesClient.tsx b/app/(private)/Reportes/ReportesClient.tsx index 4bca173..9d7fc17 100644 --- a/app/(private)/Reportes/ReportesClient.tsx +++ b/app/(private)/Reportes/ReportesClient.tsx @@ -1,12 +1,17 @@ -'use client'; +"use client"; -import { useState } from 'react'; -import Toggle from '@/app/Components/Global/Toggle/Toggle'; -import SearchDateBetween from '@/app/Components/SearchDateBetween/SearchDateBetween'; -import PorServicios from '@/app/Components/Reportes/porServicio'; -import PorRecibos from '@/app/Components/Reportes/porRecibo'; +import { useState } from "react"; +import Toggle from "@/app/Components/Global/Toggle/Toggle"; +import SearchDateBetween from "@/app/Components/SearchDateBetween/SearchDateBetween"; +import PorServicios from "@/app/Components/Reportes/porServicio"; +import PorRecibos from "@/app/Components/Reportes/porRecibo"; +import DownloadReporteXLSX from "@/app/Components/Dowload/Reporte"; -export default function ReportesClient({ defaultKey }: { defaultKey?: string }) { +export default function ReportesClient({ + defaultKey, +}: { + defaultKey?: string; +}) { const [desde, setDesde] = useState(null); const [hasta, setHasta] = useState(null); @@ -18,8 +23,8 @@ export default function ReportesClient({ defaultKey }: { defaultKey?: string }) defaultView={defaultKey} options={[ { - key: 'Por recibo', - label: 'Por recibo', + key: "Por recibo", + label: "Por recibo", content: ( <> { + setLoading(true); + const token = Cookies.get("token"); + const headers = { Authorization: `Bearer ${token}` }; + + try { + const response = await fetch( + `${process.env.NEXT_PUBLIC_API_URL}/equipos/reporteXLSX`,//Modificar + { headers } + ); + + if (!response.ok) { + toast.error("Error al descargar el archivo"); + return; + } + + const blob = await response.blob(); + const url = window.URL.createObjectURL(blob); + + const a = document.createElement("a"); + a.href = url; + a.download = "Reporte Recibos.xlsx"; + document.body.appendChild(a); + a.click(); + a.remove(); + + window.URL.revokeObjectURL(url); + } catch (error) { + console.error(error); + toast.error("Hubo un problema al descargar el archivo."); + } finally { + setLoading(false); + } + }; + + return ( + + ); +} diff --git a/app/Components/Dowload/style.module.css b/app/Components/Dowload/style.module.css new file mode 100644 index 0000000..936347b --- /dev/null +++ b/app/Components/Dowload/style.module.css @@ -0,0 +1,46 @@ +.downloadBtn { + position: absolute; + right: 15px; + top:-35px; + display: flex; + justify-content: center; + align-items: center; + gap: 8px; + background: #ffffff; + border: 1px solid #ddd; + border-bottom: none; + padding: 5px 5px; + cursor: pointer; + border-radius: 10px 10px 0 0; + font-size: 14px; + font-weight: 600; + transition: background 0.2s ease; + min-width: 50px; +} + +.downloadBtn:hover { + background: #95d2b0; +} + +.downloadBtn:disabled { + background: #a5a5a5; + cursor: not-allowed; +} + +.loader { + border: 3px solid #ffffff55; + border-top: 3px solid white; + border-radius: 50%; + width: 16px; + height: 16px; + animation: spin 0.8s linear infinite; +} + +@keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/app/Components/Reportes/porRecibo.tsx b/app/Components/Reportes/porRecibo.tsx index bb44118..39da5a2 100644 --- a/app/Components/Reportes/porRecibo.tsx +++ b/app/Components/Reportes/porRecibo.tsx @@ -1,7 +1,8 @@ -'use client'; +"use client"; -import { useEffect, useState } from 'react'; -import axios from 'axios'; +import { useEffect, useState } from "react"; +import axios from "axios"; +import DownloadReporteXLSX from "../Dowload/Reporte"; interface Recibo { id_recibo: number; @@ -9,9 +10,9 @@ interface Recibo { fecha_recibo: string; fecha_registro: string; monto: string; - user:{ - nombre:string; - } + user: { + nombre: string; + }; } interface Props { @@ -36,7 +37,7 @@ function PorRecibos({ desde, hasta }: Props) { setRecibos(res.data); } catch (error) { - console.error('Error al obtener recibos', error); + console.error("Error al obtener recibos", error); } finally { setLoading(false); } @@ -46,38 +47,47 @@ function PorRecibos({ desde, hasta }: Props) { }, [desde, hasta]); return ( -
- {loading &&

Cargando...

} +
+ {recibos.length > 0 && } +
+ {loading &&

Cargando...

} - - - - - - - - - - - - - {!loading && recibos.length === 0 && ( +
FolioMontofecha recibofecha registroUsuario
+ - + + + + + - )} + - {recibos.map((recibo) => ( - - - - - - - - ))} - -
No hay recibos en este rangoFolioMontofecha recibofecha registroUsuario
{recibo.folio_recibo}${Number(recibo.monto).toFixed(2)}{recibo.fecha_recibo}{recibo.fecha_registro}{recibo.user.nombre}
+ + {!loading && recibos.length === 0 && ( + + No hay recibos en este rango + + )} + + {recibos.map((recibo) => ( + + {recibo.folio_recibo} + ${Number(recibo.monto).toFixed(2)} + {recibo.fecha_recibo} + {recibo.fecha_registro} + {recibo.user.nombre} + + ))} + + +
); } diff --git a/public/excel.svg b/public/excel.svg new file mode 100644 index 0000000..1d47514 --- /dev/null +++ b/public/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file From b33ee92682a40b5642e27ac9555a0ff1a6698aa6 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Fri, 16 Jan 2026 14:06:08 -0600 Subject: [PATCH 27/27] reporte servicio date --- app/(private)/Reportes/ReportesClient.tsx | 2 +- app/Components/Reportes/porServicio.tsx | 108 +++++++++++++++------- tsconfig.json | 2 +- 3 files changed, 78 insertions(+), 34 deletions(-) diff --git a/app/(private)/Reportes/ReportesClient.tsx b/app/(private)/Reportes/ReportesClient.tsx index 9d7fc17..e6004fb 100644 --- a/app/(private)/Reportes/ReportesClient.tsx +++ b/app/(private)/Reportes/ReportesClient.tsx @@ -48,7 +48,7 @@ export default function ReportesClient({ setHasta(h); }} /> - {/* */} + ), }, diff --git a/app/Components/Reportes/porServicio.tsx b/app/Components/Reportes/porServicio.tsx index 73ef7b5..0f1e2cb 100644 --- a/app/Components/Reportes/porServicio.tsx +++ b/app/Components/Reportes/porServicio.tsx @@ -1,42 +1,86 @@ "use client"; -import { useState } from "react"; -interface servicios { - folio_recibo: "100255"; - monto: "40.00"; - fecha_recibo: "10/10/2025"; - fecha_registro: "10/10/2025 05:32:20 pm"; - usuario: "modulo1"; +import { useEffect, useState } from "react"; +import axios from "axios"; +import DownloadReporteXLSX from "../Dowload/Reporte"; + + +interface ServicioReporte { + id_servicio: number; + servicio: string; + total: string; } -function PorServicios() { - const [recibos, setRecibos] = useState([]); +interface Props { + desde: string | null; + hasta: string | null; +} + +function PorServicio({ desde, hasta }: Props) { + const [servicios, setServicios] = useState([]); + const [loading, setLoading] = useState(false); + + useEffect(() => { + if (!desde || !hasta) return; + + const fetchServicios = async () => { + setLoading(true); + try { + const res = await axios.post( + `${process.env.NEXT_PUBLIC_API_URL}/detalle-servicio/rango`, + { desde, hasta } + ); + + setServicios(res.data); + } catch (error) { + console.error("Error al obtener reporte por servicio", error); + } finally { + setLoading(false); + } + }; + + fetchServicios(); + }, [desde, hasta]); + return ( -
- - - - - - - - - - - - {recibos.map((recibo, index) => ( - - - - - - +
+ {servicios.length > 0 && } + +
+ {loading &&

Cargando...

} + +
Folio ReciboMontoFecha ReciboFecha RegistroUsuario
{recibo.folio_recibo}{recibo.monto}{recibo.fecha_recibo}{recibo.fecha_registro}{recibo.usuario}
+ + + + - ))} - -
ServicioMonto total
+ + + + {!loading && servicios.length === 0 && ( + + No hay servicios en este rango + + )} + + {servicios.map((servicio) => ( + + {servicio.servicio} + ${Number(servicio.total).toFixed(2)} + + ))} + + +
); } -export default PorServicios; +export default PorServicio; diff --git a/tsconfig.json b/tsconfig.json index 74f6560..e7ff3a2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ {