This commit is contained in:
+13
-4
@@ -51,6 +51,7 @@ type App struct {
|
||||
doneCh chan error
|
||||
started bool
|
||||
connected bool
|
||||
quitting bool
|
||||
}
|
||||
|
||||
func Run(useProxy bool, prefill string) error {
|
||||
@@ -58,7 +59,10 @@ func Run(useProxy bool, prefill string) error {
|
||||
defer cancel()
|
||||
|
||||
sp := spinner.New()
|
||||
sp.Spinner = spinner.Line
|
||||
sp.Spinner = spinner.Spinner{
|
||||
Frames: []string{"◇", "◈", "◆", "◈"},
|
||||
FPS: spinner.Line.FPS,
|
||||
}
|
||||
|
||||
username := textinput.New()
|
||||
username.Placeholder = "username"
|
||||
@@ -110,8 +114,13 @@ func (a *App) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
return a.updateLogin(msg)
|
||||
case screenConnecting, screenDashboard:
|
||||
if msg.String() == "q" || msg.String() == "ctrl+c" {
|
||||
a.cancel()
|
||||
return a, tea.Quit
|
||||
if !a.quitting {
|
||||
a.quitting = true
|
||||
a.status = "disconnecting"
|
||||
a.screen = screenConnecting
|
||||
a.cancel()
|
||||
}
|
||||
return a, nil
|
||||
}
|
||||
case screenError:
|
||||
if msg.String() == "enter" || msg.String() == "q" || msg.String() == "esc" || msg.String() == "ctrl+c" {
|
||||
@@ -138,7 +147,7 @@ func (a *App) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
a.screen = screenError
|
||||
return a, nil
|
||||
}
|
||||
if a.connected {
|
||||
if a.connected || a.quitting {
|
||||
return a, tea.Quit
|
||||
}
|
||||
if msg.err != nil {
|
||||
|
||||
Reference in New Issue
Block a user