diff --git a/openless-all/app/src-tauri/src/commands.rs b/openless-all/app/src-tauri/src/commands.rs index 3dc46b53..14599065 100644 --- a/openless-all/app/src-tauri/src/commands.rs +++ b/openless-all/app/src-tauri/src/commands.rs @@ -85,9 +85,10 @@ pub fn read_credential(account: String) -> Result, String> { } #[derive(Serialize)] +#[serde(rename_all = "camelCase")] pub struct ProviderCheckResult { ok: bool, - message: String, + model_count: usize, } #[derive(Serialize)] @@ -102,11 +103,7 @@ pub async fn validate_provider_credentials(kind: String) -> Result { } export function validateProviderCredentials(kind: 'llm' | 'asr'): Promise { - return invokeOrMock('validate_provider_credentials', { kind }, () => ({ ok: true, message: 'Mock credentials are valid.' })); + return invokeOrMock('validate_provider_credentials', { kind }, () => ({ ok: true, modelCount: 2 })); } export function listProviderModels(kind: 'llm' | 'asr'): Promise { diff --git a/openless-all/app/src/pages/Settings.tsx b/openless-all/app/src/pages/Settings.tsx index bc9eab3d..c4590c72 100644 --- a/openless-all/app/src/pages/Settings.tsx +++ b/openless-all/app/src/pages/Settings.tsx @@ -407,7 +407,12 @@ function ProviderTools({ kind, modelAccount, onModelSelected }: { kind: 'llm' | setResult('loading', t('settings.providers.validating')); try { const result = await validateProviderCredentials(kind); - setResult(result.ok ? 'success' : 'error', result.message || t('settings.providers.validateSuccess')); + setResult( + result.ok ? (result.modelCount === 0 ? 'empty' : 'success') : 'error', + result.modelCount === 0 + ? t('settings.providers.modelsEmpty') + : t('settings.providers.validateSuccess', { count: result.modelCount }), + ); } catch (error) { setResult('error', providerErrorMessage(error, t)); }