import { type ServerProvider } from "@t3tools/contracts"; import { memo } from "react"; import { Alert, AlertDescription, AlertTitle } from "../ui/alert"; import { CircleAlertIcon } from "lucide-react"; import { formatProviderDriverKindLabel } from "../../providerModels"; export const ProviderStatusBanner = memo(function ProviderStatusBanner({ status, }: { status: ServerProvider | null; }) { if (!status || status.status === "ready" || status.status === "disabled") { return null; } const providerLabel = status.displayName?.trim() || formatProviderDriverKindLabel(status.driver); const defaultMessage = status.status === "error" ? `${providerLabel} provider is unavailable.` : `${providerLabel} provider has limited availability.`; const title = `${providerLabel} provider status`; return (
{title} {status.message ?? defaultMessage}
); });