import { useState } from 'react'; import { toast } from 'react-toastify'; import Cookies from 'js-cookie'; import { anthropicNumFreeUsesCookieName, anthropicApiKeyCookieName, MaxFreeUses } from '~/utils/freeUses'; export default function ConnectionsTab() { const [apiKey, setApiKey] = useState(Cookies.get(anthropicApiKeyCookieName) || ''); const numFreeUses = +(Cookies.get(anthropicNumFreeUsesCookieName) || 0); const handleSaveAPIKey = async (key: string) => { if (!key || !key.startsWith('sk-ant-')) { toast.error('Please provide a valid Anthropic API key'); return; } Cookies.set('anthropicApiKey', key); setApiKey(key); }; return (

Anthropic API Key

handleSaveAPIKey(e.target.value)} className="w-full bg-white dark:bg-bolt-elements-background-depth-4 relative px-2 py-1.5 rounded-md focus:outline-none placeholder-bolt-elements-textTertiary text-bolt-elements-textPrimary dark:text-bolt-elements-textPrimary border border-bolt-elements-borderColor disabled:opacity-50" />
{numFreeUses < MaxFreeUses && (
{MaxFreeUses - numFreeUses} / {MaxFreeUses} free uses remaining
)}
); }