"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import Cookies from "js-cookie"; import axios from "axios"; import toast from "react-hot-toast"; import "../app/styles/layout/history.scss"; export default function History() { const [historial, setHistorial] = useState([]); const [selected, setSelected] = useState(null); const api_url = process.env.NEXT_PUBLIC_API_URL; const router = useRouter(); useEffect(() => { const fetchHistorial = async () => { try { const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; const response = await axios.get(`${api_url}/movimientos/historial`, { headers, }); setHistorial(response.data); } catch (error) { toast.error("No se pudo cargar el historial"); } }; fetchHistorial(); }, []); const handleClick = (item: any) => { setSelected(item); // <-- abrir modal con datos del equipo }; const handleBuscar = () => { if (!selected) return; const inventario = selected.inventario; router.push(`/editar?equipoId=${inventario}`); }; return (
{/* TABLA */} {historial.length > 0 ? ( historial.map((item: any, index: number) => ( handleClick(item)} className="clickable-row" > )) ) : ( )}
Numero total modificado: {historial.length}
Inventario Tipo de Equipo Fecha de Censo
{item.inventario} {item.tipo_equipo === "PERIFÉRICO" ? item.periferico : item.tipo_equipo} {item.fechaMovimiento ? new Date(item.fechaMovimiento).toLocaleDateString("es-MX") : "—"}
No hay registros de historial
{selected && (

Detalles del Equipo

{/* Encabezado limpio */}
Inventario {selected.inventario}
Equipo {selected.tipo_equipo === "PERIFÉRICO" ? selected.periferico : selected.tipo_equipo}
{/* Lugar */}
Lugar

{selected.lugar || "Sin especificar"}

{/* Observaciones */}
Observaciones

{selected.observaciones || "—"}

)}
); }