"use client"; import { useParams, notFound } from "next/navigation"; import Link from "next/link"; import { Card } from "@/shared/components"; import ProviderIcon from "@/shared/components/ProviderIcon"; import { MEDIA_PROVIDER_KINDS, AI_PROVIDERS, getProvidersByKind } from "@/shared/constants/providers"; import { useCopyToClipboard } from "@/shared/hooks/useCopyToClipboard"; export default function MediaProviderKindPage() { const { kind } = useParams(); const { copied, copy } = useCopyToClipboard(); const kindConfig = MEDIA_PROVIDER_KINDS.find((k) => k.id === kind); if (!kindConfig) return notFound(); const providers = getProvidersByKind(kind); const endpointText = `${kindConfig.endpoint.method} ${kindConfig.endpoint.path}`; return (
{/* Endpoint block */}

Endpoint

{kindConfig.endpoint.method} {kindConfig.endpoint.path}
{/* Provider list */} {providers.length === 0 ? (
No providers support {kindConfig.label} yet.
) : (
{providers.map((provider) => (
7 ? provider.color : (provider.color ?? "#888") + "15"}` }} >

{provider.name}

{(provider.serviceKinds ?? ["llm"]).join(", ")}

))}
)}
); }