From e18f442da9b8ebb361ebaa1d296473d4dd8e7438 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Wed, 28 Jan 2026 19:06:35 -0600 Subject: [PATCH 1/2] tring to modified programs --- .../InformacionEquipos/ProgramSelector.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/Components/InformacionEquipos/ProgramSelector.tsx b/app/Components/InformacionEquipos/ProgramSelector.tsx index 46f000e..74839af 100644 --- a/app/Components/InformacionEquipos/ProgramSelector.tsx +++ b/app/Components/InformacionEquipos/ProgramSelector.tsx @@ -26,7 +26,8 @@ export default function ProgramSelector({ ubicacion?: string | null; id?: number | null; }) { - const [equipoSeleccionado, setEquipoSeleccionado] = useState(""); + const [equipoSelection, setEquipoSelection] = useState(""); + const [roomSelection, setRoomSelection] = useState(); const [programas, setProgramas] = useState([]); const [checkboxes, setCheckboxes] = useState>({}); @@ -62,7 +63,16 @@ export default function ProgramSelector({ .filter((id) => checkboxes[Number(id)]) .map(Number); - console.log("Equipo:", equipoSeleccionado); + if (ubicacion) { + setEquipoSelection(ubicacion); + console.log("Equipo:", equipoSelection); + } + + if (id) { + setRoomSelection(id); + console.log("sala:", roomSelection); + } + console.log("Programas seleccionados:", programasSeleccionados); }; @@ -133,4 +143,4 @@ export default function ProgramSelector({ ); } -//IO \ No newline at end of file +//IO From ff2a6cd4602c19067bb0f8a291abab229b932738 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Thu, 29 Jan 2026 11:19:54 -0600 Subject: [PATCH 2/2] cancel machine --- .../InformacionEquipos/ProgramSelector.tsx | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/app/Components/InformacionEquipos/ProgramSelector.tsx b/app/Components/InformacionEquipos/ProgramSelector.tsx index 74839af..987c65e 100644 --- a/app/Components/InformacionEquipos/ProgramSelector.tsx +++ b/app/Components/InformacionEquipos/ProgramSelector.tsx @@ -56,24 +56,40 @@ export default function ProgramSelector({ })); }; - const handleSubmit = (e: React.FormEvent) => { + const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); const programasSeleccionados = Object.keys(checkboxes) .filter((id) => checkboxes[Number(id)]) .map(Number); - if (ubicacion) { - setEquipoSelection(ubicacion); - console.log("Equipo:", equipoSelection); - } + try { + if (ubicacion && ubicacion !== "0") { + await axios.patch( + `${envConfig.apiUrl}/programa-equipo/equipo/${ubicacion}`, + { + programas: programasSeleccionados, + }, + ); - if (id) { - setRoomSelection(id); - console.log("sala:", roomSelection); - } + toast.success("Programas actualizados en la máquina"); + return; + } - console.log("Programas seleccionados:", programasSeleccionados); + if (id) { + await axios.patch(`${envConfig.apiUrl}/programa-equipo/sala`, { + sala: id, + programas: programasSeleccionados, + }); + + toast.success("Programas actualizados en la sala"); + return; + } + + toast.error("No se pudo determinar el destino"); + } catch (error) { + toast.error("Error al guardar cambios"); + } }; useEffect(() => {