diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 022ee4fb4..5a7e8a05d 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -19,7 +19,7 @@ export let suggestionPrompts = []; export let autoScroll = true; - + let chatTextAreaElement:HTMLTextAreaElement let filesInputElement; let promptsElement; @@ -43,11 +43,9 @@ let speechRecognition; $: if (prompt) { - const chatInput = document.getElementById('chat-textarea'); - - if (chatInput) { - chatInput.style.height = ''; - chatInput.style.height = Math.min(chatInput.scrollHeight, 200) + 'px'; + if (chatTextAreaElement) { + chatTextAreaElement.style.height = ''; + chatTextAreaElement.style.height = Math.min(chatTextAreaElement.scrollHeight, 200) + 'px'; } } @@ -86,9 +84,7 @@ if (res) { prompt = res.text; await tick(); - - const inputElement = document.getElementById('chat-textarea'); - inputElement?.focus(); + chatTextAreaElement?.focus(); if (prompt !== '' && $settings?.speechAutoSend === true) { submitPrompt(prompt, user); @@ -191,8 +187,7 @@ prompt = `${prompt}${transcript}`; await tick(); - const inputElement = document.getElementById('chat-textarea'); - inputElement?.focus(); + chatTextAreaElement?.focus(); // Restart the inactivity timeout timeoutId = setTimeout(() => { @@ -294,8 +289,7 @@ }; onMount(() => { - const chatInput = document.getElementById('chat-textarea'); - window.setTimeout(() => chatInput?.focus(), 0); + window.setTimeout(() => chatTextAreaElement?.focus(), 0); const dropZone = document.querySelector('body'); @@ -663,6 +657,7 @@