refactor: navegacion consistente con HandleBack en todas las vistas
Cada vista expone HandleBack() bool que retrocede un nivel interno (logs -> lista) o indica que esta en estado base. El model principal intercepta q/0/esc y delega a HandleBack: si retorna true, sale de la TUI; si false, la vista retrocedio internamente. Elimina manejo duplicado de esc/q/0 en sub-estados.
This commit is contained in:
@@ -134,9 +134,6 @@ func (m ComposeModel) Update(msg tea.Msg) (ComposeModel, tea.Cmd) {
|
||||
if m.scrollOff > 0 {
|
||||
m.scrollOff--
|
||||
}
|
||||
case "esc", "q", "0":
|
||||
m.state = composeList
|
||||
return m, nil
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
@@ -156,6 +153,17 @@ func (m ComposeModel) Update(msg tea.Msg) (ComposeModel, tea.Cmd) {
|
||||
return m, cmd
|
||||
}
|
||||
|
||||
// HandleBack retrocede un nivel. Retorna true si ya estaba en estado base.
|
||||
func (m *ComposeModel) HandleBack() bool {
|
||||
switch m.state {
|
||||
case composeLogs:
|
||||
m.state = composeList
|
||||
return false
|
||||
default:
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
func (m ComposeModel) View() string {
|
||||
switch m.state {
|
||||
case composeLoading, composeAction:
|
||||
|
||||
Reference in New Issue
Block a user