From 5cd6accce3957735fb4147957187c0f8476e32a6 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Fri, 5 Jun 2020 16:57:27 -0400 Subject: [PATCH] Nice looking system-level errors --- ui/ui.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ui/ui.go b/ui/ui.go index a322445..4242d90 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -126,6 +126,13 @@ func update(msg tea.Msg, mdl tea.Model) (tea.Model, tea.Cmd) { }, tea.Quit } + // If there's been an error, any key exits + if m.err != nil { + if _, ok := msg.(tea.KeyMsg); ok { + return m, tea.Quit + } + } + var ( cmd tea.Cmd cmds []tea.Cmd @@ -277,7 +284,7 @@ func view(mdl tea.Model) string { } if m.err != nil { - return fmt.Sprintf("\nError: %v\n\nPress q to exit.", m.err) + return "\n" + indent(errorView(m.err), 2) } var s string @@ -298,6 +305,17 @@ func view(mdl tea.Model) string { return "\n" + indent(s, 2) } +func errorView(err error) string { + return fmt.Sprintf("%s\n\n%v\n\n%s", + te.String(" ERROR "). + Foreground(common.Cream.Color()). + Background(common.Red.Color()). + String(), + err, + common.Subtle("Press any key to exit"), + ) +} + // COMMANDS func listenForTerminalResize() tea.Cmd {