import { PROVIDERS } from "@/constants/models"; import { Card, CardHeader, CardTitle, CardDescription, } from "@/components/ui/card"; import { useNavigate } from "@tanstack/react-router"; import { providerSettingsRoute } from "@/routes/settings/providers/$provider"; import type { ModelProvider } from "@/lib/schemas"; import { useSettings } from "@/hooks/useSettings"; import { GiftIcon } from "lucide-react"; export function ProviderSettingsGrid() { const navigate = useNavigate(); const handleProviderClick = (provider: ModelProvider) => { navigate({ to: providerSettingsRoute.id, params: { provider }, }); }; const { isProviderSetup } = useSettings(); return (

AI Providers

{Object.entries(PROVIDERS).map(([key, provider]) => { return ( handleProviderClick(key as ModelProvider)} > {provider.displayName} {isProviderSetup(key) ? ( Ready ) : ( Needs Setup )} {provider.hasFreeTier && ( Free tier available )} ); })}
); }