From 0305f0be15e559f0d856b893fb1e7be4411009c4 Mon Sep 17 00:00:00 2001 From: tolvitty Date: Fri, 13 Feb 2026 14:54:53 +0100 Subject: [PATCH] feat: add Ctrl+Enter and Enter keyboard navigation to form modal Co-Authored-By: Claude Opus 4.6 --- src/ui/form-modal.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/ui/form-modal.ts b/src/ui/form-modal.ts index 75dffa3..e44812d 100644 --- a/src/ui/form-modal.ts +++ b/src/ui/form-modal.ts @@ -132,6 +132,29 @@ export class FormModal extends Modal { submitBtn.addEventListener('click', () => { this.handleSubmit(); }); + + // Keyboard navigation + contentEl.addEventListener('keydown', (e: KeyboardEvent) => { + // Ctrl+Enter always submits + if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) { + e.preventDefault(); + this.handleSubmit(); + return; + } + + // Enter on single-line inputs submits (unless in suggest dropdown) + if (e.key === 'Enter' && !e.shiftKey) { + const target = e.target as HTMLElement; + if ( + target instanceof HTMLInputElement && + target.type !== 'textarea' && + !target.closest('.ff-suggest-wrapper') + ) { + e.preventDefault(); + this.handleSubmit(); + } + } + }); } private async handleSubmit(): Promise {