mirror of
https://github.com/open-webui/open-webui
synced 2025-01-18 00:30:51 +00:00
refac: message input
This commit is contained in:
parent
b4fca046a8
commit
f9351af6a3
@ -810,10 +810,7 @@
|
|||||||
? $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 ||
|
||||||
!(
|
!(
|
||||||
@ -822,28 +819,18 @@
|
|||||||
navigator.msMaxTouchPoints > 0
|
navigator.msMaxTouchPoints > 0
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
// Check if Enter is pressed
|
// Prevent Enter key from creating a new line
|
||||||
// Check if Shift key is not pressed
|
|
||||||
if (e.key === 'Enter' && !e.shiftKey) {
|
if (e.key === 'Enter' && !e.shiftKey) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
const commandOptionButton = [
|
// Submit the prompt when Enter key is pressed
|
||||||
...document.getElementsByClassName('selected-command-option-button')
|
if (prompt !== '' && e.key === 'Enter' && !e.shiftKey) {
|
||||||
]?.at(-1);
|
submitPrompt(prompt, user);
|
||||||
|
|
||||||
if (!commandOptionButton) {
|
|
||||||
if (e.key === 'Enter' && !e.shiftKey && prompt !== '') {
|
|
||||||
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
|
||||||
@ -904,7 +891,9 @@
|
|||||||
...document.getElementsByClassName('selected-command-option-button')
|
...document.getElementsByClassName('selected-command-option-button')
|
||||||
]?.at(-1);
|
]?.at(-1);
|
||||||
|
|
||||||
if (commandOptionButton) {
|
if (e.shiftKey) {
|
||||||
|
prompt = `${prompt}\n`;
|
||||||
|
} else if (commandOptionButton) {
|
||||||
commandOptionButton?.click();
|
commandOptionButton?.click();
|
||||||
} else {
|
} else {
|
||||||
document.getElementById('send-message-button')?.click();
|
document.getElementById('send-message-button')?.click();
|
||||||
|
Loading…
Reference in New Issue
Block a user