diff --git a/app/Components/InformacionEquipos/ProgramSelector.tsx b/app/Components/InformacionEquipos/ProgramSelector.tsx index 46f000e..987c65e 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>({}); @@ -55,15 +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); - console.log("Equipo:", equipoSeleccionado); - console.log("Programas seleccionados:", programasSeleccionados); + try { + if (ubicacion && ubicacion !== "0") { + await axios.patch( + `${envConfig.apiUrl}/programa-equipo/equipo/${ubicacion}`, + { + programas: programasSeleccionados, + }, + ); + + toast.success("Programas actualizados en la máquina"); + return; + } + + 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(() => { @@ -133,4 +159,4 @@ export default function ProgramSelector({ ); } -//IO \ No newline at end of file +//IO