}
onBack={() => setLanguagePage({ provider: props.provider!, open: false })}
/>
{t("realtime.realtimeControl.voiceLanguageDescription")}
) : undefined
}
testId="realtime-language-choice-automatic"
onClick={() => setLanguage(null)}
/>
{sortedLanguages(providerLanguages ?? [], t.locale).map(({ code, name, nativeName }) => {
const selected = languagePreference === code;
return (
: undefined
}
testId={`realtime-language-choice-${code}`}
onClick={() => setLanguage(code)}
/>
);
})}
) : props.provider ? (
}
onBack={() => changeProvider(null, -1)}
/>
{props.models
.filter((model) => model.provider === props.provider)
.map((model) => {
const selected = model.id === props.selectedModel.id;
return (
: undefined
}
testId={`realtime-model-choice-${model.id}`}
onClick={() => props.onSelect(model.id)}
/>
);
})}
{providerLanguages ? (
}
disabled={props.disabled}
testId="realtime-language-row"
onClick={() => setLanguagePage({ provider: props.provider!, open: true })}
/>
) : null}
) : (
{providers.map((provider) => {
const meta = REALTIME_PROVIDER_META(t)[provider];
return (
}
active={props.selectedModel.provider === provider}
testId={`realtime-model-provider-${meta.key}`}
onClick={() => changeProvider(provider, 1)}
/>
);
})}
);
return (