mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-23 02:34:21 +01:00
fix(tui): Allow modals to handle ESC key before force closing (#3279)
This commit is contained in:
@@ -162,9 +162,15 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
// 1. Handle active modal
|
||||
if a.modal != nil {
|
||||
switch keyString {
|
||||
// Escape always closes current modal
|
||||
// Escape closes current modal, but give modal a chance to handle it first
|
||||
case "esc":
|
||||
cmd := a.modal.Close()
|
||||
// give the modal a chance to handle the esc
|
||||
updatedModal, cmd := a.modal.Update(msg)
|
||||
a.modal = updatedModal.(layout.Modal)
|
||||
if cmd != nil {
|
||||
return a, cmd
|
||||
}
|
||||
cmd = a.modal.Close()
|
||||
a.modal = nil
|
||||
return a, cmd
|
||||
case "ctrl+c":
|
||||
|
||||
Reference in New Issue
Block a user