gilbertyiga
Update space
1af45d7
import React from 'react';
import { FC } from 'react';
interface Props {
modelNames: string[];
selectedModel: string;
selectedModels: string[];
comparisonMode: boolean;
onSelectModel: (model: string) => void;
onToggleModel: (model: string) => void;
}
const ModelSelector: FC<Props> = ({
modelNames,
selectedModel,
selectedModels,
comparisonMode,
onSelectModel,
onToggleModel,
}) => (
<div className="bg-white rounded-lg shadow p-4 border">
<h3 className="font-semibold text-gray-800 mb-3">
{comparisonMode ? 'Select Models to Compare' : 'Select Model'}
</h3>
{comparisonMode ? (
<div className="space-y-2">
{modelNames.map(model => (
<label key={model} className="flex items-center space-x-2">
<input
type="checkbox"
checked={selectedModels.includes(model)}
onChange={() => onToggleModel(model)}
className="rounded border-gray-300 text-indigo-600 focus:ring-indigo-500"
/>
<span className="text-sm text-gray-700">{model}</span>
</label>
))}
</div>
) : (
<select
value={selectedModel}
onChange={e => onSelectModel(e.target.value)}
className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500"
>
{modelNames.map(model => (
<option key={model} value={model}>
{model}
</option>
))}
</select>
)}
</div>
);
export default ModelSelector;