"use client"; import { envConfig } from "@/app/lib/config"; import axios from "axios"; import { useEffect, useState } from "react"; interface Equipos { id_equipo: number; id_plataforma: number; id_area_ubicacion: number; nombre_equipo: string; ubicacion: string; activo: boolean; ip: string; } interface Programa { id_programa: number; programa: string; } export default function ProgramSelector() { const [equipoSeleccionado, setEquipoSeleccionado] = useState(""); const [equipos, setEquipos] = useState([]); const [programas, setProgramas] = useState([]); const [checkboxes, setCheckboxes] = useState>({}); useEffect(() => { const fetchData = async () => { const [equiposRes, programasRes] = await Promise.all([ axios.get(`${envConfig.apiUrl}/equipo`), axios.get(`${envConfig.apiUrl}/programa`), ]); setEquipos(equiposRes.data); setProgramas(programasRes.data); const initialCheckboxes: Record = {}; programasRes.data.forEach((p: Programa) => { initialCheckboxes[p.id_programa] = false; }); setCheckboxes(initialCheckboxes); }; fetchData(); }, []); const handleChangeEquipo = (e: React.ChangeEvent) => { setEquipoSeleccionado(Number(e.target.value)); }; const handleTogglePrograma = (id: number) => { setCheckboxes((prev) => ({ ...prev, [id]: !prev[id], })); }; const handleSubmit = (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); }; return (
{programas.map((prog) => ( ))}
); }