"use client"; import SearchDate from "../SearchDate/SearchDate"; import { useEffect, useState } from "react"; import "../../(private)/AsignacionEquipo/asignacion.css" import { envConfig } from "@/app/lib/config"; import axios from "axios"; interface equipos { hora_entrada: string; min_utilizados: number; hora_salida: string; cuenta_asociada: number; } function BitacoraEquipo() { const [equipo, setEquipo] = useState([]); const [open, setOpen] = useState(false); const [loadingEquipos, setLoadingEquipos] = useState(false); const [equipoSeleccionado, setEquipoSeleccionado] = useState(null); const [equipos, setEquipos] = useState([]); useEffect(() => { const fetchData = async () => { setLoadingEquipos(true); const response = await axios.get(`${envConfig.apiUrl}/equipo`); setEquipos(response.data); setLoadingEquipos(false); }; fetchData(); }, []); return ( <>
!loadingEquipos && setOpen(!open)} > {equipoSeleccionado ? ( {equipoSeleccionado.ubicacion}{" "} {equipoSeleccionado.nombre_equipo} ) : ( {loadingEquipos ? "Cargando equipos..." : "Seleccione un equipo"} )} {open ? "▲" : "▼"}
{open && (
{equipos.length === 0 && (
No hay equipos disponibles
)} {equipos.map((eq) => (
{ setEquipoSeleccionado(eq); setOpen(false); }} > {eq.ubicacion} {eq.nombre_equipo}
))}
)}
{equipo.map((equipo, index) => ( ))}
Hora Entrada Minutos utilizados Hora salida Cuenta asociada
{equipo.hora_entrada} {equipo.min_utilizados} {equipo.hora_salida} {equipo.cuenta_asociada}
); } export default BitacoraEquipo;