"use client"; import { envConfig } from "@/app/lib/config"; import axios from "axios"; import { useEffect, useState } from "react"; const programas = [ "3D MAX STUDIO 2014", "ADOBE CREATIVE SUITE", "ARCHICAD 20", "AUDACITY -win - 2.0", "AUTOCAD", "CODE-BLOCKS", "COREL DRAW", "DEV-C++", "EVIEWS Enterprise", "Google Earth", "INTERNERT", "MAPLE", "MATHEMATICA", "MATLAB", "Maxima", "miktex", "NETBEANS", "OFFICE 2016", "PSeint", "R 3.0.1", "R Studio", "SPPS Statiscs", "STATA 13", "STATGRAOHICS Centurion XVI", ]; const caracteristicasPorEquipo: Record = { "Equipo 1": ["3D MAX STUDIO 2014", "AUTOCAD", "MATLAB"], "Equipo 2": ["ADOBE CREATIVE SUITE", "COREL DRAW", "R Studio"], "Equipo 3": ["ARCHICAD 20", "EVIEWS Enterprise", "SPPS Statiscs"], "Equipo 4": ["MATHEMATICA", "MAPLE", "Maxima"], }; interface Equipos { id_equipo: number; id_plataforma: number; id_area_ubicacion: number; nombre_equipo: string; ubicacion: string; activo: boolean; ip: string; } export default function ProgramSelector() { const [equipoSeleccionado, setEquipoSeleccionado] = useState(""); const [checkboxes, setCheckboxes] = useState>( programas.reduce((acc, prog) => ({ ...acc, [prog]: false }), {}) ); const [equipo, setEquipo] = useState(); useEffect(() => { const getEquipos = async () => { const equipos = await axios.get(`${envConfig.apiUrl}/equipo`); setEquipo(equipos.data); }; getEquipos(); }, []); useEffect(() => { const response = axios.get( "https://venus.acatlan.unam.mx/asignacionTiempo_test/equipo" ); setPrograma(response) }); const nuevosCheckboxes: Record = {}; programas.forEach((prog) => { nuevosCheckboxes[prog] = caracteristicasPorEquipo[equipo]?.includes(prog) || false; }); setCheckboxes(nuevosCheckboxes); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); console.log( tipo === "sala" ? "Sala:" : "Equipo:", seleccion, "\nProgramas seleccionados:", Object.keys(checkboxes).filter((p) => checkboxes[p]) ); }; return (
{programas.map((prog) => ( ))}
); }