From 28bece53db8228ba2f0ea00bf30c6e87e860e12a Mon Sep 17 00:00:00 2001 From: silentoplayz Date: Thu, 4 Jun 2026 11:18:02 -0400 Subject: [PATCH] feat(ui): add compact action toolbar toggle to collapse custom action buttons --- .../chat/Messages/ResponseMessage.svelte | 96 +++++++++++++++---- .../components/chat/Settings/Interface.svelte | 23 +++++ 2 files changed, 101 insertions(+), 18 deletions(-) diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 8acec479c6..ac539d9329 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -64,6 +64,8 @@ import StatusHistory from './ResponseMessage/StatusHistory.svelte'; import FullHeightIframe from '$lib/components/common/FullHeightIframe.svelte'; import OutputEditView from './OutputEditView.svelte'; + import ChevronRight from '$lib/components/icons/ChevronRight.svelte'; + import ChevronLeft from '$lib/components/icons/ChevronLeft.svelte'; interface MessageType { id: string; @@ -166,6 +168,7 @@ let contentContainerElement: HTMLDivElement; let buttonsContainerElement: HTMLDivElement; let showDeleteConfirm = false; + let showActions = false; let model = null; $: model = $models.find((m) => m.id === message.model); @@ -1451,36 +1454,93 @@ {/if} {/if} - {#each model?.actions ?? [] as action} - + {#if $settings?.compactToolbar && (model?.actions ?? []).length > 0} + - {/each} + + {#if showActions} + {#each model?.actions ?? [] as action} + + + + {/each} + {/if} + {:else} + {#each model?.actions ?? [] as action} + + + + {/each} + {/if} {/if} {/if} {/if} diff --git a/src/lib/components/chat/Settings/Interface.svelte b/src/lib/components/chat/Settings/Interface.svelte index 250c75a9ff..40d470f880 100644 --- a/src/lib/components/chat/Settings/Interface.svelte +++ b/src/lib/components/chat/Settings/Interface.svelte @@ -78,6 +78,8 @@ let showFloatingActionButtons = true; let floatingActionButtons = null; + let compactToolbar = false; + let imageCompression = false; let imageCompressionSize = { width: '', @@ -264,6 +266,8 @@ showFloatingActionButtons = $settings?.showFloatingActionButtons ?? true; floatingActionButtons = $settings?.floatingActionButtons ?? null; + compactToolbar = $settings?.compactToolbar ?? false; + imageCompression = $settings?.imageCompression ?? false; imageCompressionSize = $settings?.imageCompressionSize ?? { width: '', height: '' }; imageCompressionInChannels = $settings?.imageCompressionInChannels ?? true; @@ -1116,6 +1120,25 @@ +
+
+
+ {$i18n.t('Compact Action Toolbar')} +
+ +
+ { + saveSettings({ compactToolbar }); + }} + /> +
+
+
+