import type { ProviderCapability } from '../../types' interface ProviderPanelProps { providers: ProviderCapability[] loadingCapabilities: boolean capabilitiesError: string | null onRefresh: () => void } export function ProviderPanel({ providers, loadingCapabilities, capabilitiesError, onRefresh, }: ProviderPanelProps): JSX.Element { return (

Provider Capabilities

Review configured local providers and honest not-configured external sources.

{loadingCapabilities ? (
Loading provider capabilities.

Checking local, fixture and external provider registry states.

) : null} {capabilitiesError ? (
Provider registry unavailable.

{capabilitiesError}

) : null} {providers.length === 0 && !loadingCapabilities ? (
No providers reported by backend.

Refresh provider capabilities after the backend is reachable.

) : null}
    {providers.map((provider) => (
  • {provider.display_name} {provider.provider_name}
    {provider.status}
    Authority {provider.authority_level}
    Configured {provider.configured ? 'yes' : 'no'}
    Geometry {provider.supported_geometry_types.join(', ')}
    Query modes {provider.supported_query_modes.join(', ')}
    {provider.supported_layers.map((layer) => ( {layer} ))}
    limitation: {provider.limitation_message}
    {!provider.configured && provider.not_configured_reason ? (
    reason: {provider.not_configured_reason}
    ) : null}
    Attribution {provider.attribution}
    License {provider.license_note}
  • ))}
) }