feat: add back navigation, review step, and error retry to TUI
Implements three UX improvements (TODO #1–#3): - Back navigation: Esc returns to the previous input step. The Model keeps a history stack of input steps (advance/goBack helpers); action/wait steps are excluded via isInputStep so back never re-enters a side-effecting step. Form values are preserved. - Review step (StepReview): shows all collected config for confirmation before any file is written; Enter installs, Esc edits. - Retry vs. fix: transient failures (image pull, container run) offer "r: tentar novamente" instead of quitting; validation failures route back to the relevant form to correct the value. Adds nav_test.go for the history/navigation logic and updates README/CLAUDE/docs (incl. docs/TODO.md tracking the remaining ideas). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,15 +17,18 @@ os arquivos de configuração (`config.toml` e `envs`) e sobe os containers nece
|
||||
|
||||
## Sumário
|
||||
|
||||
- [O que ele faz](#o-que-ele-faz)
|
||||
- [Pré-requisitos](#pré-requisitos)
|
||||
- [Como usar](#como-usar)
|
||||
- [Fluxo de instalação](#fluxo-de-instalação)
|
||||
- [Conectividade: IP público vs. vproxy](#conectividade-ip-público-vs-vproxy)
|
||||
- [Arquivos gerados](#arquivos-gerados)
|
||||
- [Containers e rede Docker](#containers-e-rede-docker)
|
||||
- [Build a partir do código](#build-a-partir-do-código)
|
||||
- [Documentação adicional](#documentação-adicional)
|
||||
- [App do Dono — Instalador Cliente (TUI)](#app-do-dono--instalador-cliente-tui)
|
||||
- [Sumário](#sumário)
|
||||
- [O que ele faz](#o-que-ele-faz)
|
||||
- [Pré-requisitos](#pré-requisitos)
|
||||
- [Como usar](#como-usar)
|
||||
- [Navegação na interface](#navegação-na-interface)
|
||||
- [Fluxo de instalação](#fluxo-de-instalação)
|
||||
- [Conectividade: IP público vs. vproxy](#conectividade-ip-público-vs-vproxy)
|
||||
- [Arquivos gerados](#arquivos-gerados)
|
||||
- [Containers e rede Docker](#containers-e-rede-docker)
|
||||
- [Build a partir do código](#build-a-partir-do-código)
|
||||
- [Documentação adicional](#documentação-adicional)
|
||||
|
||||
---
|
||||
|
||||
@@ -80,6 +83,8 @@ go run ./cmd
|
||||
| `Shift+Tab` / `↑` | Campo anterior |
|
||||
| `←` / `→` | Alternar opção (campos de seleção) |
|
||||
| `Enter` | Confirmar campo / avançar etapa |
|
||||
| `Esc` | Voltar à etapa anterior |
|
||||
| `r` | Tentar novamente (em telas de erro) |
|
||||
| Qualquer tecla | Avançar em telas de status |
|
||||
| `Ctrl+C` | Sair a qualquer momento |
|
||||
|
||||
@@ -111,11 +116,15 @@ go run ./cmd
|
||||
│ │
|
||||
▼ ▼
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Config. Aplicação → Servidor → │
|
||||
│ Banco de Dados → Certificados │
|
||||
│ Config. Aplicação → Servidor → │
|
||||
│ Banco de Dados → Certificados │
|
||||
└────────────────────┬────────────────────┘
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ Revisão (Review) │ ← esc volta para editar
|
||||
└────────┬─────────┘
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ Gera config.toml │
|
||||
└────────┬─────────┘
|
||||
▼
|
||||
|
||||
Reference in New Issue
Block a user