From 43c30428a66df9092880669b89ecfdc4e31bd796 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 28 Feb 2026 21:16:53 -0600 Subject: [PATCH] refac --- src/lib/components/chat/MessageInput.svelte | 8 +- .../chat/MessageInput/TerminalMenu.svelte | 279 +++++++++--------- 2 files changed, 149 insertions(+), 138 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 46932e30dc..a222783be5 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1014,7 +1014,7 @@ } tools.set(await getTools(localStorage.token)); - } + }; initialize(); return () => { @@ -1031,7 +1031,7 @@ dropzoneElement.removeEventListener('drop', onDrop); dropzoneElement.removeEventListener('dragleave', onDragLeave); } - } + }; }); @@ -1809,7 +1809,9 @@ {#if (!history?.currentId || history.messages[history.currentId]?.done == true) && ($_user?.role === 'admin' || ($_user?.permissions?.chat?.stt ?? true))} - + {#if ($terminalServers ?? []).length > 0 || ($settings?.terminalServers ?? []).some((s) => s.url)} + + {/if} diff --git a/src/lib/components/chat/MessageInput/TerminalMenu.svelte b/src/lib/components/chat/MessageInput/TerminalMenu.svelte index aebdb758de..bfe4814231 100644 --- a/src/lib/components/chat/MessageInput/TerminalMenu.svelte +++ b/src/lib/components/chat/MessageInput/TerminalMenu.svelte @@ -84,119 +84,56 @@ $: selectedDirectTerminal = directTerminals.find((t) => t.url === $selectedTerminalId); $: selectedLabel = - selectedSystemTerminal?.name ?? - selectedDirectTerminal?.name ?? - selectedDirectTerminal?.url?.replace(/^https?:\/\//, '') ?? - null; + selectedSystemTerminal?.name || + selectedSystemTerminal?.id || + selectedDirectTerminal?.name || + selectedDirectTerminal?.url?.replace(/^https?:\/\//, '') || + $i18n.t('Terminal'); - - - - +
+ + + - -
- - {#each directTerminals as terminal} - - {/each} - - {#if directTerminals.length > 0 && systemTerminals.length > 0} -
{/if} - {/if} + +
- - {#if systemTerminals.length > 0} -
- - {$i18n.t('System')} - - {#if $user?.role === 'admin'} +
+ + + {#if directTerminals.length > 0 && ($user?.role === 'admin' || ($user?.permissions?.features?.direct_tool_servers ?? true))} +
+ + {$i18n.t('Direct')} + - {/if} -
+
- {#each systemTerminals as terminal} - + {/each} + + {#if directTerminals.length > 0 && systemTerminals.length > 0} +
+ {/if} + {/if} + + + {#if systemTerminals.length > 0} +
+ + {$i18n.t('System')} + + {#if $user?.role === 'admin'} + + + {/if} - - {/each} - {/if} - -
- +
+ + {#each systemTerminals as terminal} + + {/each} + {/if} + + + +