This commit is contained in:
2026-01-29 11:45:59 -06:00
@@ -26,7 +26,8 @@ export default function ProgramSelector({
ubicacion?: string | null;
id?: number | null;
}) {
const [equipoSeleccionado, setEquipoSeleccionado] = useState<number | "">("");
const [equipoSelection, setEquipoSelection] = useState<string>("");
const [roomSelection, setRoomSelection] = useState<number>();
const [programas, setProgramas] = useState<Programa[]>([]);
const [checkboxes, setCheckboxes] = useState<Record<number, boolean>>({});
@@ -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({
</form>
);
}
//IO
//IO