fix(tui): consume Enter in dialog useKeyboard handlers (#23390)

This commit is contained in:
Cas 2026-04-28 04:31:49 +08:00 committed by GitHub
parent 9cd2e3a1c3
commit e0f3df8252
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 14 additions and 0 deletions

View file

@ -77,6 +77,8 @@ export function DialogGoUpsell(props: DialogGoUpsellProps) {
return
}
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
if (selected() === "subscribe") subscribe(props, dialog)
else dismiss(props, dialog)
}

View file

@ -42,6 +42,8 @@ export function DialogSessionDeleteFailed(props: {
useKeyboard((evt) => {
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
void confirm()
}
if (evt.name === "left" || evt.name === "up") {

View file

@ -15,6 +15,8 @@ export function DialogAlert(props: DialogAlertProps) {
useKeyboard((evt) => {
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
props.onConfirm?.()
dialog.clear()
}

View file

@ -25,6 +25,8 @@ export function DialogConfirm(props: DialogConfirmProps) {
useKeyboard((evt) => {
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
if (store.active === "confirm") props.onConfirm?.()
if (store.active === "cancel") props.onCancel?.()
dialog.clear()

View file

@ -35,6 +35,8 @@ export function DialogExportOptions(props: DialogExportOptionsProps) {
useKeyboard((evt) => {
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
props.onConfirm?.({
filename: textarea.plainText,
thinking: store.thinking,

View file

@ -11,6 +11,8 @@ export function DialogHelp() {
useKeyboard((evt) => {
if (evt.name === "return" || evt.name === "escape") {
evt.preventDefault()
evt.stopPropagation()
dialog.clear()
}
})

View file

@ -29,6 +29,8 @@ export function DialogPrompt(props: DialogPromptProps) {
return
}
if (evt.name === "return") {
evt.preventDefault()
evt.stopPropagation()
props.onConfirm?.(textarea.plainText)
}
})