mirror of
https://github.com/elisiariocouto/leggen.git
synced 2025-12-13 21:52:40 +00:00
Fix frontend health check to properly detect API unavailability
- Add isError to useQuery destructuring to handle network errors - Improve health check query function to throw on HTTP errors - Update status display logic to show 'Disconnected' when API is unreachable - Ensure proper error handling for both network failures and HTTP status errors
This commit is contained in:
committed by
Elisiário Couto
parent
cb2e70e42d
commit
dcac53d181
@@ -30,10 +30,13 @@ export default function Dashboard() {
|
||||
queryFn: apiClient.getAccounts,
|
||||
});
|
||||
|
||||
const { data: healthStatus, isLoading: healthLoading } = useQuery({
|
||||
const { data: healthStatus, isLoading: healthLoading, isError: healthError } = useQuery({
|
||||
queryKey: ['health'],
|
||||
queryFn: async () => {
|
||||
const response = await fetch(`${import.meta.env.VITE_API_URL || 'http://localhost:8000'}/api/v1/health`);
|
||||
if (!response.ok) {
|
||||
throw new Error(`Health check failed: ${response.status}`);
|
||||
}
|
||||
return response.json();
|
||||
},
|
||||
refetchInterval: 30000, // Check every 30 seconds
|
||||
@@ -146,16 +149,16 @@ export default function Dashboard() {
|
||||
<Activity className="h-4 w-4 text-yellow-500 animate-pulse" />
|
||||
<span className="text-sm text-gray-600">Checking...</span>
|
||||
</>
|
||||
) : healthStatus?.success ? (
|
||||
<>
|
||||
<Wifi className="h-4 w-4 text-green-500" />
|
||||
<span className="text-sm text-gray-600">Connected</span>
|
||||
</>
|
||||
) : (
|
||||
) : healthError || !healthStatus?.success ? (
|
||||
<>
|
||||
<WifiOff className="h-4 w-4 text-red-500" />
|
||||
<span className="text-sm text-red-500">Disconnected</span>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Wifi className="h-4 w-4 text-green-500" />
|
||||
<span className="text-sm text-gray-600">Connected</span>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user