Local changes: Updated model training, removed debug instrumentation, and configuration improvements
This commit is contained in:
60
frontend/src/hooks/useProviderStatus.ts
Normal file
60
frontend/src/hooks/useProviderStatus.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { marketDataApi, ProviderStatus } from '../api/marketData'
|
||||
import { useWebSocketContext } from '../components/WebSocketProvider'
|
||||
import { useEffect, useState } from 'react'
|
||||
|
||||
export interface ProviderStatusData {
|
||||
status: ProviderStatus | null
|
||||
isLoading: boolean
|
||||
error: Error | null
|
||||
refetch: () => void
|
||||
}
|
||||
|
||||
export function useProviderStatus(): ProviderStatusData {
|
||||
const { isConnected, lastMessage } = useWebSocketContext()
|
||||
const [status, setStatus] = useState<ProviderStatus | null>(null)
|
||||
|
||||
const {
|
||||
data,
|
||||
isLoading,
|
||||
error,
|
||||
refetch,
|
||||
} = useQuery({
|
||||
queryKey: ['provider-status'],
|
||||
queryFn: () => marketDataApi.getProviderStatus(),
|
||||
refetchInterval: 10000, // Refetch every 10 seconds
|
||||
})
|
||||
|
||||
// Update local state when query data changes
|
||||
useEffect(() => {
|
||||
if (data) {
|
||||
setStatus(data)
|
||||
}
|
||||
}, [data])
|
||||
|
||||
// Listen for provider status updates via WebSocket
|
||||
useEffect(() => {
|
||||
if (!isConnected || !lastMessage) return
|
||||
|
||||
try {
|
||||
const message = typeof lastMessage === 'string' ? JSON.parse(lastMessage) : lastMessage
|
||||
|
||||
if (message.type === 'provider_status_update') {
|
||||
// Update status from WebSocket message
|
||||
setStatus((prev) => ({
|
||||
...prev!,
|
||||
...message.data,
|
||||
}))
|
||||
}
|
||||
} catch (e) {
|
||||
// Ignore parsing errors
|
||||
}
|
||||
}, [isConnected, lastMessage])
|
||||
|
||||
return {
|
||||
status,
|
||||
isLoading,
|
||||
error: error as Error | null,
|
||||
refetch,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user