diff --git a/frontend/src/lib/components/AIProviderPicker.svelte b/frontend/src/lib/components/AIProviderPicker.svelte index 92742c7fee..f6f2a4f43c 100644 --- a/frontend/src/lib/components/AIProviderPicker.svelte +++ b/frontend/src/lib/components/AIProviderPicker.svelte @@ -18,7 +18,12 @@ actions?: Snippet } - let { value = $bindable(), disabled = false, actions }: Props = $props() + let { value: _uncheckedValue = $bindable(), disabled = false, actions }: Props = $props() + + let value = $derived.by(() => { + if (!_uncheckedValue || typeof _uncheckedValue !== 'object') return undefined + return _uncheckedValue + }) let loading = $state(false) let availableModels = $state([]) @@ -26,8 +31,8 @@ let modelsCache = new Map() - if (!value) { - value = { + if (!_uncheckedValue) { + _uncheckedValue = { kind: 'openai', resource: '', model: '' @@ -172,7 +177,7 @@ {/each} p.value === value.kind) >= 3 ? '' : 'More'} + btnText={providerOptions.findIndex((p) => p.value === value?.kind) >= 3 ? '' : 'More'} togglableItems={providerOptions.slice(3)} {item} bind:selected={() => value?.kind, (v) => v && onProviderChange(v)} @@ -205,12 +210,12 @@

model