"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; plataforma: string; area: string; ocupado:boolean; }; export default function MachineTableActive() { 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/active`, { 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(); }, []); const filteredMachines = selectedArea === "Todo" ? machines : machines.filter( (machine) => machine.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} {machine.area} {!machine.ocupado ? "Sí" : "No"}
); }