import React, { useState, useEffect } from 'react'; import { PROVIDERS, type AIProvider } from '../types/providers'; interface ModelSelectorProps { provider: AIProvider; onModelChange: (model: string) => void; apiKey: string; } export const ModelSelector: React.FC = ({ provider, onModelChange, apiKey }) => { const [selectedModel, setSelectedModel] = useState(''); const providerConfig = PROVIDERS.find(p => p.id === provider); useEffect(() => { if (providerConfig) { const saved = localStorage.getItem(`model-${provider}`); if (saved && providerConfig.models.includes(saved)) { setSelectedModel(saved); onModelChange(saved); } else { setSelectedModel(providerConfig.defaultModel); onModelChange(providerConfig.defaultModel); } } }, [provider, providerConfig, onModelChange]); const handleChange = (model: string) => { setSelectedModel(model); localStorage.setItem(`model-${provider}`, model); onModelChange(model); }; if (!providerConfig) return null; return (
); };