From fd97c21740d34ddf793d326c5b969f1fabfe33cd Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Tue, 27 Jan 2026 13:47:38 -0600 Subject: [PATCH] added handleButton to cancel the machine --- .../AsignacionEquipo/PlaticaGate.tsx | 1 - app/Components/AsignacionMesas.tsx | 1 - app/Components/CheckBoxEquipo.tsx | 101 ++++++++++++------ app/Components/Global/Toggle/Toggle.tsx | 1 + 4 files changed, 67 insertions(+), 37 deletions(-) diff --git a/app/(private)/AsignacionEquipo/PlaticaGate.tsx b/app/(private)/AsignacionEquipo/PlaticaGate.tsx index e9ea405..b85f876 100644 --- a/app/(private)/AsignacionEquipo/PlaticaGate.tsx +++ b/app/(private)/AsignacionEquipo/PlaticaGate.tsx @@ -69,7 +69,6 @@ export default function PlaticaGate({ inscripcion, idCuenta }: Props) { - diff --git a/app/Components/CheckBoxEquipo.tsx b/app/Components/CheckBoxEquipo.tsx index 0e67e30..be09b19 100644 --- a/app/Components/CheckBoxEquipo.tsx +++ b/app/Components/CheckBoxEquipo.tsx @@ -6,6 +6,7 @@ import { envConfig } from "../lib/config"; import axios from "axios"; import Information from "./Global/Information/information"; import toast from "react-hot-toast"; +import { useRouter } from "next/navigation"; async function getEquipoByCount(idCuenta: number) { try { @@ -50,45 +51,46 @@ export default function CheckBoxEquipo({ numAcount, machine }: Props) { const [modo, setModo] = useState<"Equipo" | "Cuenta" | null>("Cuenta"); const [bitacora, setBitacora] = useState(null); const [tiempoRestante, setTiempoRestante] = useState(""); + const [minutos, setMinutos] = useState(); + + const router = useRouter(); + + const fetchByCuenta = async (idCuenta: number) => { + const result = await getEquipoByCount(idCuenta); + + if (result?.error) { + toast.error(result.error); + setBitacora(null); + } else { + setBitacora(result); + } + }; + + const fetchByEquipo = async (idEquipo: number) => { + const result = await getEquipoId(idEquipo); + + if (result?.error) { + toast.error(result.error); + setBitacora(null); + } else { + setBitacora(result); + } + }; useEffect(() => { if (!numAcount) return; - const idCuenta = parseInt(numAcount); if (isNaN(idCuenta)) return; - const fetchData = async () => { - const result = await getEquipoByCount(idCuenta); - - if (result?.error) { - toast.error(result.error); - setBitacora(null); - } else { - setBitacora(result); - } - }; - - fetchData(); + fetchByCuenta(idCuenta); }, [numAcount]); useEffect(() => { if (!machine) return; + const idEquipo = parseInt(machine); + if (isNaN(idEquipo)) return; - const idCuenta = parseInt(machine); - if (isNaN(idCuenta)) return; - - const fetchData = async () => { - const result = await getEquipoId(idCuenta); - - if (result?.error) { - toast.error(result.error); - setBitacora(null); - } else { - setBitacora(result); - } - }; - - fetchData(); + fetchByEquipo(idEquipo); }, [machine]); useEffect(() => { @@ -106,6 +108,7 @@ export default function CheckBoxEquipo({ numAcount, machine }: Props) { clearInterval(interval); } else { const minutos = Math.floor(restante / 60000); + setMinutos(minutos + 1); const segundos = Math.floor((restante % 60000) / 1000); setTiempoRestante(`${minutos} minutos con ${segundos} segundos`); } @@ -114,6 +117,25 @@ export default function CheckBoxEquipo({ numAcount, machine }: Props) { return () => clearInterval(interval); }, [bitacora]); + const handleButton = async (e: React.MouseEvent) => { + e.preventDefault(); + + await axios.patch( + `${envConfig.apiUrl}/bitacora/cancelar/${bitacora.id_bitacora}`, + { tiempo_asignado: minutos }, + ); + + toast.success("Tiempo cancelado"); + + if (modo === "Cuenta" && numAcount) { + fetchByCuenta(parseInt(numAcount)); + } + + if (modo === "Equipo" && machine) { + fetchByEquipo(parseInt(machine)); + } + }; + return ( <>
@@ -141,15 +163,24 @@ export default function CheckBoxEquipo({ numAcount, machine }: Props) {
{modo === "Cuenta" && } - {modo === "Equipo" && } + {modo === "Equipo" && } {bitacora && ( - + <> + + + )} ); diff --git a/app/Components/Global/Toggle/Toggle.tsx b/app/Components/Global/Toggle/Toggle.tsx index 6c3a237..8183867 100644 --- a/app/Components/Global/Toggle/Toggle.tsx +++ b/app/Components/Global/Toggle/Toggle.tsx @@ -26,6 +26,7 @@ export default function Toggle({ options, defaultView }: ToggleProps) { const params = new URLSearchParams(searchParams.toString()); params.set("key", key); + params.delete("machine"); router.replace(`${pathname}?${params.toString()}`); };