"use client"; import { envConfig } from "@/app/lib/config"; import { useEffect, useState } from "react"; import "./tableEquipos.css"; export default function TableEquipos() { const [equipos, setEquipos] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { fetch(`${envConfig.apiUrl}/equipo`) .then((res) => res.json()) .then((data) => { setEquipos(data); setLoading(false); }) .catch((err) => { console.error("ERROR API:", err); setLoading(false); }); }, []); const toggleEquipo = async (id_equipo: number) => { try { await fetch(`${envConfig.apiUrl}/equipo/${id_equipo}/activo`, { method: "PATCH", }); setEquipos((prev) => prev.map((e) => e.id_equipo === id_equipo ? { ...e, activo: { data: [e.activo?.data?.[0] === 1 ? 0 : 1], }, } : e, ), ); } catch (error) { console.error("Error al cambiar estado del equipo", error); } }; 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)} />
); }