فهرست منبع

refac: message new line issue

Timothy J. Baek 11 ماه پیش
والد
کامیت
ef4af86883
1فایلهای تغییر یافته به همراه15 افزوده شده و 5 حذف شده
  1. 15 5
      src/lib/components/chat/MessageInput.svelte

+ 15 - 5
src/lib/components/chat/MessageInput.svelte

@@ -817,7 +817,10 @@
 									? $i18n.t('Listening...')
 									? $i18n.t('Listening...')
 									: $i18n.t('Send a Message')}
 									: $i18n.t('Send a Message')}
 								bind:value={prompt}
 								bind:value={prompt}
-								on:keypress={(e) => {
+								on:keypress={(e) => {}}
+								on:keydown={async (e) => {
+									// Check if the device is not a mobile device or if it is a mobile device, check if it is not a touch device
+									// This is to prevent the Enter key from submitting the prompt on mobile devices
 									if (
 									if (
 										!$mobile ||
 										!$mobile ||
 										!(
 										!(
@@ -826,15 +829,22 @@
 											navigator.msMaxTouchPoints > 0
 											navigator.msMaxTouchPoints > 0
 										)
 										)
 									) {
 									) {
-										if (e.keyCode == 13 && !e.shiftKey) {
+										// Check if Enter is pressed
+										// Check if Shift key is not pressed
+										if (e.key === 'Enter' && !e.shiftKey) {
 											e.preventDefault();
 											e.preventDefault();
 										}
 										}
-										if (prompt !== '' && e.keyCode == 13 && !e.shiftKey) {
+
+										if (e.key === 'Enter' && !e.shiftKey && prompt !== '') {
 											submitPrompt(prompt, user);
 											submitPrompt(prompt, user);
+											return;
+										}
+
+										if (e.key === 'Enter' && e.shiftKey && prompt !== '') {
+											return;
 										}
 										}
 									}
 									}
-								}}
-								on:keydown={async (e) => {
+
 									const isCtrlPressed = e.ctrlKey || e.metaKey; // metaKey is for Cmd key on Mac
 									const isCtrlPressed = e.ctrlKey || e.metaKey; // metaKey is for Cmd key on Mac
 
 
 									// Check if Ctrl + R is pressed
 									// Check if Ctrl + R is pressed