@if (providerLogo(provider.id); as logo) { } @else { } @if (view() === 'list') { @if (chatNoticeMeta(); as notice) {
{{ notice.title | translate }} {{ notice.hint | translate }}
@if (chatNotice() === 'ready') { }
} @if (!loading() && !configuredProviders().length && !voiceProviders().length) {
{{ 'AI_CHAT_UI.SETTINGS.LIST.EMPTY_TITLE' | translate }}

{{ 'AI_CHAT_UI.SETTINGS.LIST.EMPTY' | translate }}

{{ 'AI_CHAT_UI.SETTINGS.LIST.EMPTY_PROVIDERS' | translate }}

} @if (configuredProviders().length) {
{{ 'AI_CHAT_UI.SETTINGS.LIST.NAME' | translate }} {{ 'AI_CHAT_UI.SETTINGS.LIST.SOURCE' | translate }} {{ 'AI_CHAT_UI.SETTINGS.LIST.ENABLED' | translate }}
@for (provider of configuredProviders(); track provider.id) {
{{ provider.label }} @if (defaultProviderId() === provider.id) { {{ 'AI_CHAT_UI.SETTINGS.LIST.DEFAULT' | translate }} } @if (getCredential(provider.id)?.id) { } @else { {{ 'AI_CHAT_UI.SETTINGS.LIST.VIA_ENV' | translate }} } @if (getCredential(provider.id)) { }
}
} @if (!loading() && (configuredProviders().length || voiceProviders().length)) {
{{ 'AI_CHAT_UI.SETTINGS.VOICE.TITLE' | translate }}

{{ 'AI_CHAT_UI.SETTINGS.VOICE.DESCRIPTION' | translate }}

@if (voiceProviders().length) {
{{ 'AI_CHAT_UI.SETTINGS.LIST.NAME' | translate }} {{ 'AI_CHAT_UI.SETTINGS.LIST.SOURCE' | translate }} {{ 'AI_CHAT_UI.SETTINGS.VOICE.MODEL' | translate }}
@for (provider of voiceProviders(); track provider.id) {
{{ provider.label }} @if (defaultVoiceProviderId() === provider.id) { {{ 'AI_CHAT_UI.SETTINGS.VOICE.DEFAULT' | translate }} } @else { {{ 'AI_CHAT_UI.SETTINGS.VOICE.FALLBACK' | translate }} } @if (provider.local) { {{ 'AI_CHAT_UI.SETTINGS.BADGE.LOCAL' | translate }} } {{ getCredential(provider.id)?.speechModel || provider.defaultSpeechModel || '—' }}
}
} @else {
{{ 'AI_CHAT_UI.SETTINGS.VOICE.EMPTY' | translate }} {{ 'AI_CHAT_UI.SETTINGS.VOICE.EMPTY_HINT' | translate }}
}
}
} @if (view() === 'catalog') { @if (!loading() && !catalogProviders().length) {

{{ (catalogFilter() === 'voice' ? 'AI_CHAT_UI.SETTINGS.CATALOG.NO_VOICE_PROVIDERS' : 'AI_CHAT_UI.SETTINGS.NO_PROVIDERS' ) | translate }}

}
@for (provider of catalogProviders(); track provider.id) { }
} @if (view() === 'config' && selectedProvider(); as provider) { @if (provider.connectType) {
{{ 'AI_CHAT_UI.SETTINGS.CONNECT.HINT' | translate }}
{{ 'AI_CHAT_UI.SETTINGS.CONNECT.OR_MANUAL' | translate }}
} @if (getForm(provider.id); as form) {
@if (provider.requiresApiKey === false) { {{ 'AI_CHAT_UI.SETTINGS.FORM.API_KEY_OPTIONAL' | translate }} } @else if (getCredential(provider.id)) { {{ 'AI_CHAT_UI.SETTINGS.FORM.API_KEY_KEEP' | translate }} } @if (form.controls.apiKey.touched && form.controls.apiKey.hasError('required')) { {{ 'AI_CHAT_UI.SETTINGS.FORM.API_KEY_REQUIRED' | translate }} }
@if (provider.requiresBaseUrl) { {{ 'AI_CHAT_UI.SETTINGS.FORM.BASE_URL_GATEWAY_HINT' | translate }} } @else if (provider.local) { {{ 'AI_CHAT_UI.SETTINGS.FORM.BASE_URL_LOCAL_HINT' | translate }} } @if (form.controls.baseUrl.touched && form.controls.baseUrl.hasError('required')) { {{ 'AI_CHAT_UI.SETTINGS.FORM.BASE_URL_REQUIRED' | translate }} } @if (form.controls.baseUrl.touched && form.controls.baseUrl.hasError('pattern')) { {{ 'AI_CHAT_UI.SETTINGS.FORM.BASE_URL_INVALID' | translate }} }
@if (provider.speechCapable) {
{{ model.label }} {{ model.id === CUSTOM_MODEL ? ('AI_CHAT_UI.SETTINGS.FORM.CUSTOM_SPEECH_MODEL_PLACEHOLDER' | translate) : model.id }} {{ 'AI_CHAT_UI.SETTINGS.FORM.SPEECH_MODEL_HINT' | translate }} @if (form.controls.speechModel.value === CUSTOM_MODEL) { } {{ 'AI_CHAT_UI.SETTINGS.FORM.USE_AS_VOICE_DEFAULT_HINT' | translate }}
} @if (!isVoiceOnly(provider)) {
{{ model.label }} {{ model.id === CUSTOM_MODEL ? ('AI_CHAT_UI.SETTINGS.FORM.CUSTOM_MODEL_PLACEHOLDER' | translate) : model.id }} @if (modelSourceKey(provider); as sourceKey) { {{ sourceKey | translate }} } @if (form.controls.defaultModel.value === CUSTOM_MODEL) { }
}
{{ 'AI_CHAT_UI.SETTINGS.FORM.ENABLED' | translate }} @if (!isVoiceOnly(provider)) { }
@if (getCredential(provider.id)) { }
}
}