diff --git a/src/lib/components/admin/Settings/Models/ModelControls.svelte b/src/lib/components/admin/Settings/Models/ModelControls.svelte index 49b5abc62e..63bc17dffd 100644 --- a/src/lib/components/admin/Settings/Models/ModelControls.svelte +++ b/src/lib/components/admin/Settings/Models/ModelControls.svelte @@ -23,7 +23,7 @@ const actionClass = 'flex size-7 shrink-0 items-center justify-center rounded-lg text-gray-500 transition hover:bg-black/5 hover:text-gray-700 dark:text-gray-400 dark:hover:bg-white/5 dark:hover:text-gray-200'; const inputClass = - 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] text-gray-700 outline-hidden placeholder:text-gray-300 dark:text-gray-300 dark:placeholder:text-gray-700'; + 'w-full min-w-0 bg-transparent py-1 text-[0.8125rem] outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700 font-normal text-gray-900 dark:text-gray-100'; const keyFor = (label: string, items: object) => { let base = label @@ -134,7 +134,9 @@
- {$i18n.t('Model controls')} + {$i18n.t('Model controls')}
- {$i18n.t('Options')} + {$i18n.t('Options')}
{#each options as option, index (option.id)}
diff --git a/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte b/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte index 9aca267d77..c563a5254a 100644 --- a/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte +++ b/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte @@ -108,8 +108,8 @@
-
+
{$i18n.t('settings.personal.general.parameters.streamChatResponse.label')}
+ + {:else} + + {/if} +
+ {/if} +
+
-
+
-
+
- {#if backgroundPreview || info.meta.background_image_url} +
+ {#if editingLocale} +
+ {$i18n.t('Description ({{language}})', { + language: editingLocaleLabel || editingLocale + })} +
+
+ setLocalizedField('description', info.meta.description ?? '')} > - {/if} -
-
- { - const selected = backgroundInput.files?.[0]; - backgroundInput.value = ''; - if (!selected || loading) return; - loading = true; - const candidate = URL.createObjectURL(selected); - try { - if ( - !['image/png', 'image/jpeg', 'image/webp', 'image/gif'].includes( - selected.type - ) - ) { - throw new Error( - $i18n.t('Background image must be PNG, JPEG, WebP, or GIF.') - ); - } - if (selected.size > 5 * 1024 * 1024) - throw new Error($i18n.t('Background image must be at most 5 MiB.')); - const image = new Image(); - image.src = candidate; - await image.decode(); - if (image.naturalWidth * image.naturalHeight > 25_000_000) { - throw new Error( - $i18n.t('Background image must be at most 25 megapixels.') - ); - } - clearBackgroundPreview(); - backgroundPreview = candidate; - backgroundFile = selected; - } catch (error) { - URL.revokeObjectURL(candidate); - toast.error( - error instanceof Error - ? error.message - : $i18n.t('Invalid background image.') - ); - } finally { - loading = false; - } - }} - /> - {#if backgroundPreview || info.meta.background_image_url} - {$i18n.t('Background - {/if} -

- {$i18n.t('PNG, JPEG, WebP, or GIF. Up to 5 MiB and 25 megapixels.')} -

-
- {/if} - -
-
-
- {editingLocale - ? $i18n.t('Description ({{language}})', { - language: editingLocaleLabel || editingLocale - }) - : $i18n.t('Description')} + {$i18n.t('Copy default')} + + {#if localizedField('description')} + + {/if} +
+ {:else} + + {/if}
{#if editingLocale} -
- - {#if localizedField('description')} - - {/if} -
- {:else} - +