import { useEffect, useState } from 'react'; import { useCrossModelStore } from '../store/useCrossModelStore'; import { useModelStore } from '../store/useModelStore'; import { useLocaleStore } from '../store/useLocaleStore'; import type { TranslationKey } from '../i18n/translations'; import type { ModelListEntry } from '../api/client'; const PHASE_LABELS: Record = { scanning_a: 'Scanning model A...', switching: 'Switching model...', scanning_b: 'Scanning model B...', }; export function CrossModelSelector() { const { modelIdB, setModelIdB, runCrossCompare, phase, error } = useCrossModelStore(); const modelInfo = useModelStore((s) => s.modelInfo); const availableModels = useModelStore((s) => s.availableModels); const t = useLocaleStore((s) => s.t); const [models, setModels] = useState([]); useEffect(() => { setModels(availableModels.filter((m) => m.model_id !== modelInfo?.model_id)); }, [availableModels, modelInfo?.model_id]); const isBusy = phase !== 'idle' && phase !== 'done'; const currentModelName = modelInfo?.model_id ?? 'Model A'; return (
{t('crossModel.title' as TranslationKey)} A: {currentModelName} vs {error && ( {error.length > 30 ? error.slice(0, 30) + '...' : error} )}
); }