import { useCallback, useEffect, useState } from 'react' import { getContactos, type Contacto } from '../services/api' interface Props { onVolver: () => void } /** * Vista interna "Contactos": lista del tablero Contactos de Monday (lo más * reciente primero). Vive dentro de la landing (no hay router); se abre desde * la tarjeta Contactos del grid. */ export function VistaContactos({ onVolver }: Props) { const [contactos, setContactos] = useState(null) const [cargando, setCargando] = useState(true) const [error, setError] = useState('') const cargar = useCallback(() => { setCargando(true) setError('') getContactos() .then(setContactos) .catch(() => setError('No se pudieron cargar los contactos.')) .finally(() => setCargando(false)) }, []) useEffect(() => cargar(), [cargar]) return (

Contactos

{cargando ? (

Cargando contactos…

) : error ? (

{error}

) : !contactos || contactos.length === 0 ? (

No hay contactos para mostrar.

) : (
    {contactos.map((contacto) => (
  • {contacto.nombre} {contacto.estado && ( {contacto.estado} )} {contacto.telefono || 'Sin teléfono'} {contacto.email || 'Sin email'}
  • ))}
)}
) }