diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFields.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFields.svelte index d17f7e4229..b878673958 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFields.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFields.svelte @@ -10,6 +10,7 @@ import { getParameterInfo, resetParameterToServerDefault } from '$lib/stores/settings.svelte'; import { ParameterSyncService } from '$lib/services/parameter-sync'; import ParameterSourceIndicator from './ParameterSourceIndicator.svelte'; + import CustomWidthCombobox from './CustomWidthCombobox.svelte'; import type { Component } from 'svelte'; interface Props { @@ -197,6 +198,35 @@ {field.help || SETTING_CONFIG_INFO[field.key]}

{/if} + {:else if field.type === 'combobox'} + {#if field.key === 'customChatWidth'} + {@const isDisabled = localConfig.autoChatWidth} + +
+ + +
+ onConfigChange(field.key, value)} + disabled={isDisabled} + /> +
+ + {#if isDisabled} +

Disabled when responsive width is enabled.

+ {:else if field.help || SETTING_CONFIG_INFO[field.key]} +

+ {field.help || SETTING_CONFIG_INFO[field.key]} +

+ {/if} +
+ {/if} {:else if field.type === 'checkbox'} {@const isDisabled = field.key === 'pdfAsImage' && !supportsVision()} diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/CustomWidthCombobox.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/CustomWidthCombobox.svelte new file mode 100644 index 0000000000..86de4c57d6 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/CustomWidthCombobox.svelte @@ -0,0 +1,86 @@ + + +
+ + + {#snippet child({ props })} + + {/snippet} + + + + + + + No presets found. + + + {#each widthPresets as preset (preset.value)} + handleSelectPreset(preset.value)}> + + {preset.label} + + {/each} + + + + + +