diff --git a/Components/ChatWindow.svelte b/Components/ChatWindow.svelte index b24065e..df4710b 100644 --- a/Components/ChatWindow.svelte +++ b/Components/ChatWindow.svelte @@ -18,7 +18,7 @@ let workSpaceService: WorkSpaceService = Resolve(Services.WorkSpaceService); let conversationService: ConversationFileSystemService = Resolve(Services.ConversationFileSystemService); - let textareaElement: HTMLTextAreaElement; + let textareaElement: HTMLDivElement; let chatContainer: HTMLDivElement; let submitButton: HTMLButtonElement; let editModeButton: HTMLButtonElement; @@ -105,7 +105,7 @@ const currentRequest = userRequest; - textareaElement.value = ""; + textareaElement.textContent = ""; userRequest = ""; autoResize(); @@ -140,10 +140,22 @@ } } + function handleInput() { + if (textareaElement) { + userRequest = textareaElement.textContent || ""; + if (userRequest.trim() === "") { + textareaElement.textContent = ""; + } + autoResize(); + } + } + function autoResize() { if (textareaElement) { - textareaElement.style.height = 'auto'; - textareaElement.style.height = textareaElement.scrollHeight + 'px'; + // For contenteditable divs, reset height and set to scrollHeight + textareaElement.style.height = "auto"; + const newHeight = Math.min(textareaElement.scrollHeight, window.innerHeight * 0.3); + textareaElement.style.height = `${newHeight}px`; } } @@ -191,17 +203,19 @@
- + on:input={handleInput} + data-placeholder="Type a message..." + role="textbox" + aria-multiline="true" + tabindex="0"> +