Deze verschenen zodra de backend geen eigen melding meegaf: de terugvalteksten van formatError en de controles vóór een handeling. Een operator kreeg dan "Failed to load exports" of "Select a project first" te zien, midden in een verder Nederlandse werkbank. Dit is geen meertaligheidsvraagstuk maar inconsistentie binnen de taal die het product al spreekt. De teksten volgen nu de bestaande toon: benoemen wat er misging of wat er eerst nodig is, in actieve vorm, zonder excuus. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import { useMemo, useState } from 'react'
|
|
import { externalApi } from '../services/api'
|
|
import type { ProviderCapability } from '../types'
|
|
|
|
export function useProviderCapabilities() {
|
|
const [providerCapabilities, setProviderCapabilities] = useState<ProviderCapability[]>([])
|
|
const [loadingCapabilities, setLoadingCapabilities] = useState(false)
|
|
const [capabilitiesError, setCapabilitiesError] = useState<string | null>(null)
|
|
|
|
const providers = useMemo(() => providerCapabilities, [providerCapabilities])
|
|
|
|
const loadCapabilities = async () => {
|
|
setLoadingCapabilities(true)
|
|
setCapabilitiesError(null)
|
|
try {
|
|
const providerResponse = await externalApi.listProviders()
|
|
setProviderCapabilities(providerResponse.providers)
|
|
} catch (error) {
|
|
setCapabilitiesError(error instanceof Error ? error.message : 'De bronkoppelingen konden niet worden geladen')
|
|
} finally {
|
|
setLoadingCapabilities(false)
|
|
}
|
|
}
|
|
|
|
return {
|
|
providers,
|
|
loadingCapabilities,
|
|
capabilitiesError,
|
|
loadCapabilities,
|
|
}
|
|
}
|