Task 15 of 16 — these are sequential, do them in order.
Previous: #17 · Next: #19
Port target: cloudpark-toolkit (Go) → this repo (Rust). Reference paths below are relative to that repo.
Goal
Settings: theme picker, language, and persisted defaults.
Scope
- Settings overlay on
esc at the index root.
- Themes: the palette list from task 03 (Default, Matrix, Ocean, Mono, Dracula, Gruvbox, Nord, Sunset, Forest, Rose), applied live to every screen.
- Language:
pt-br (default) and en-us. Translation keys are the English source strings, so en-us needs no table — t() falls back to the key.
- Persisted defaults: ticket dir, printer port + baud, barcode delay, HW address. Store as TOML at
$XDG_CONFIG_HOME/virtusdev/config.toml (fall back to ~/.config). Launch forms prefill from it.
- First run: open the defaults editor once,
esc skips.
Reference
cloudpark-toolkit/internal/tui/settings.go, config.go, i18n.go, theme.go
Done when
Task 15 of 16 — these are sequential, do them in order.
Previous: #17 · Next: #19
Goal
Settings: theme picker, language, and persisted defaults.
Scope
escat the index root.pt-br(default) anden-us. Translation keys are the English source strings, soen-usneeds no table —t()falls back to the key.$XDG_CONFIG_HOME/virtusdev/config.toml(fall back to~/.config). Launch forms prefill from it.escskips.Reference
cloudpark-toolkit/internal/tui/settings.go,config.go,i18n.go,theme.goDone when
t().