Skip to content

Commit 6d68eb5

Browse files
author
Mishig
authored
[Chat input] Fix asian keyboards (#789)
1 parent 73a5c0d commit 6d68eb5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/lib/components/chat/ChatInput.svelte

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
1212
let innerWidth = 0;
1313
let textareaElement: HTMLTextAreaElement;
14+
let isCompositionOn = false;
1415
1516
const dispatch = createEventDispatcher<{ submit: void }>();
1617
@@ -19,7 +20,7 @@
1920
2021
function handleKeydown(event: KeyboardEvent) {
2122
// submit on enter
22-
if (event.key === "Enter" && !event.shiftKey) {
23+
if (event.key === "Enter" && !event.shiftKey && !isCompositionOn) {
2324
event.preventDefault();
2425
dispatch("submit"); // use a custom event instead of `event.target.form.requestSubmit()` as it does not work on Safari 14
2526
}
@@ -50,6 +51,8 @@
5051
bind:this={textareaElement}
5152
{disabled}
5253
on:keydown={handleKeydown}
54+
on:compositionstart={() => (isCompositionOn = true)}
55+
on:compositionend={() => (isCompositionOn = false)}
5356
on:keypress
5457
{placeholder}
5558
/>

0 commit comments

Comments
 (0)