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