'use client'; import { useEffect, useState } from 'react'; import { apiClient, ApiError } from '@/lib/api/client'; interface HealthStatus { status: 'ok' | 'error'; timestamp: string; database: 'up' | 'down'; } type DiagnosticoState = | { phase: 'loading' } | { phase: 'success'; data: HealthStatus } | { phase: 'error'; message: string }; /** * Rota temporária para validar a integração frontend↔backend de ponta a * ponta (Etapa 11). Pode ser removida quando não fizer mais falta. */ export default function DiagnosticoPage() { const [state, setState] = useState({ phase: 'loading' }); useEffect(() => { apiClient .get('/health') .then((data) => setState({ phase: 'success', data })) .catch((err: unknown) => { const message = err instanceof ApiError ? err.message : 'Falha ao conectar com a API.'; setState({ phase: 'error', message }); }); }, []); return (

Diagnóstico de conexão com a API

{state.phase === 'loading' &&

Consultando GET /health…

} {state.phase === 'success' && (

Status:{' '} {state.data.status}

Banco de dados:{' '} {state.data.database}

Timestamp: {state.data.timestamp}

)} {state.phase === 'error' && (

{state.message}

)}
); }