aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--script.js24
1 files changed, 14 insertions, 10 deletions
diff --git a/script.js b/script.js
index 34cca765..5f6ee354 100644
--- a/script.js
+++ b/script.js
@@ -124,16 +124,20 @@ document.addEventListener("DOMContentLoaded", function() {
* Add a ctrl+enter as a shortcut to start a generation
*/
document.addEventListener('keydown', function(e) {
- var handled = false;
- if (e.key !== undefined) {
- if ((e.key == "Enter" && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
- } else if (e.keyCode !== undefined) {
- if ((e.keyCode == 13 && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
- }
- if (handled) {
- var button = get_uiCurrentTabContent().querySelector('button[id$=_generate]');
- if (button) {
- button.click();
+ const isEnter = e.key === 'Enter' || e.keyCode === 13;
+ const isModifierKey = e.metaKey || e.ctrlKey || e.altKey;
+
+ const interruptButton = get_uiCurrentTabContent().querySelector('button[id$=_interrupt]');
+ const generateButton = get_uiCurrentTabContent().querySelector('button[id$=_generate]');
+
+ if (isEnter && isModifierKey) {
+ if (interruptButton.style.display === 'block') {
+ interruptButton.click();
+ setTimeout(function() {
+ generateButton.click();
+ }, 500);
+ } else {
+ generateButton.click();
}
e.preventDefault();
}