import { useCallback } from 'react'; import { useStateStore } from '@/store/state'; export function useApiStatusTracker() { const { updateApiStatus } = useStateStore(); const trackApi = useCallback( async (apiName: string, apiCall: () => Promise): Promise => { const startTime = Date.now(); updateApiStatus(apiName, { status: 'loading', duration: 0 }); try { const result = await apiCall(); const duration = (Date.now() - startTime) / 1000; updateApiStatus(apiName, { status: 'success', duration }); return result; } catch (error) { const duration = (Date.now() - startTime) / 1000; updateApiStatus(apiName, { status: 'error', duration }); throw error; } }, [updateApiStatus] ); return { trackApi }; }