"use client"; import { envConfig } from "@/app/lib/config"; import { useEffect, useState } from "react"; import "./tableEquipos.css"; import axios from "axios"; export default function TableEquipos() { const [equipos, setEquipos] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { const fetchEquipos = async () => { try { const response = await axios.get(`${envConfig.apiUrl}/equipo`); setEquipos(response.data); } catch (error: any) { console.error("ERROR API:", error.response?.data || error.message); } finally { setLoading(false); } }; fetchEquipos(); }, []); const toggleEquipo = async (id_equipo: number) => { try { await axios.patch( `${envConfig.apiUrl}/equipo/${id_equipo}/activo` ); setEquipos((prev) => prev.map((e) => e.id_equipo === id_equipo ? { ...e, activo: { data: [e.activo?.data?.[0] === 1 ? 0 : 1], }, } : e ) ); } catch (error: any) { console.error( "Error al cambiar estado del equipo", error.response?.data || error.message ); } }; if (loading) { return

Cargando equipos...

; } return (
{equipos.map((eq) => { const isActivo = eq.activo?.data?.[0] === 1; return ( ); })}
Ubicación Nombre Plataforma Área Activo
{eq.ubicacion} {eq.nombre_equipo} {eq.plataforma?.nombre} {eq.areaUbicacion?.nombre || eq.id_area_ubicacion} {isActivo ? "Sí" : "No"} toggleEquipo(eq.id_equipo)} />
); }