"use client"; import { useEffect, useState } from "react"; import styles from "./Page.module.css"; type AreaUbicacion = { id_area_ubicacion: number; area: string; }; type Equipo = { id_equipo: number; nombre_equipo: string; ubicacion: string; activo: { data: number[] }; plataforma: { nombre: string }; areaUbicacion: { area: string }; }; export default function MachineTable() { const [machines, setMachines] = useState([]); const [areas, setAreas] = useState([]); const [selectedArea, setSelectedArea] = useState("Todo"); const [loading, setLoading] = useState(true); const fetchMachines = async () => { const res = await fetch( `${process.env.NEXT_PUBLIC_API_URL}/equipo/disable`, { cache: "no-store" }, ); setMachines(await res.json()); setLoading(false); }; const fetchAreas = async () => { const res = await fetch( `${process.env.NEXT_PUBLIC_API_URL}/area-ubicacion`, { cache: "no-store" }, ); setAreas(await res.json()); }; useEffect(() => { fetchMachines(); fetchAreas(); }, []); if (loading) { return

Cargando equipos...

; } const filteredMachines = selectedArea === "Todo" ? machines : machines.filter( (machine) => machine.areaUbicacion.area === selectedArea, ); if (loading) return

Cargando equipos...

; return (
{filteredMachines.map((machine) => ( ))}
Ubicación Nombre Equipo Plataforma Área Disponible
{machine.ubicacion} {machine.nombre_equipo} {machine.plataforma.nombre} {machine.areaUbicacion.area} {machine.activo.data[0] === 1 ? "Sí" : "No"}
); }