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
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)
}
})