import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { useAuth } from 'hooks/useAuth'; import type { ModelOption } from '@/state/useModels'; import type { ChatMessage } from 'apps/Chat'; import { OpenCodeModelPicker } from './OpenCodeModelPicker'; type SettingsProps = { provider: 'claude' | 'opencode'; messages: ChatMessage[]; onProviderChange?: (provider: 'claude' | 'opencode') => void; availableModels: ModelOption[]; selectedModel: string | null; onModelChange: (modelId: string) => void; model: string | null; isConnected: boolean; isGenerating: boolean; }; export const Settings = ({ provider, messages, onProviderChange, availableModels, selectedModel, onModelChange, model, isConnected, isGenerating, }: SettingsProps) => { const { user } = useAuth(); const fallbackModelId = availableModels[0]?.id ?? null; return (
{messages.length > 0 ? ( {provider === 'claude' ? 'Claude' : 'OpenCode'} ) : (
{(['claude', 'opencode'] as const).map((value) => ( ))}
)}
{availableModels.length > 0 && provider === 'opencode' ? ( ) : availableModels.length > 0 ? ( ) : ( {model ?? (provider === 'claude' ? 'Claude' : 'OpenCode')} )}
); };