import { useState, useEffect, useCallback } from 'react'; import { getContractById } from '../api/ContractsApi'; import type { ContractDetail } from '../types/ContractDetail'; export function useContractDetail(contractId: number) { const [contract, setContract] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const fetchContract = useCallback(async () => { setLoading(true); try { const data = await getContractById(contractId); setContract(data); setError(null); } catch { setError('Contrato no encontrado'); } finally { setLoading(false); } }, [contractId]); useEffect(() => { fetchContract(); }, [fetchContract]); return { contract, loading, error, refresh: fetchContract }; }