refactor(ui): move *LoginForm to ui/misc.go

This commit is contained in:
rigormorrtiss 2021-09-07 20:45:31 +04:00
parent 58cd88ce7a
commit 9c3e390b33
3 changed files with 29 additions and 38 deletions

View file

@ -66,7 +66,7 @@ func main() {
panic(err)
}
} else {
loginForm = ui.NewLoginForm(onLoginFormLoginButtonSelected)
loginForm = ui.NewLoginForm(onLoginFormLoginButtonSelected, false)
app.SetRoot(loginForm, true)
}
@ -391,7 +391,7 @@ func onLoginFormLoginButtonSelected() {
go keyring.Set("discordo", "token", lr.Token)
} else if lr.MFA {
loginForm = ui.NewMfaLoginForm(func() {
loginForm = ui.NewLoginForm(func() {
code := loginForm.GetFormItem(0).(*tview.InputField).GetText()
if code == "" {
return
@ -413,7 +413,7 @@ func onLoginFormLoginButtonSelected() {
}
go keyring.Set("discordo", "token", lr.Token)
})
}, true)
app.SetRoot(loginForm, true)
}

View file

@ -1,35 +0,0 @@
package ui
import (
"github.com/rivo/tview"
)
func newBaseLoginForm() *tview.Form {
f := tview.NewForm()
f.
SetButtonsAlign(tview.AlignCenter).
SetBorder(true).
SetBorderPadding(0, 0, 1, 0)
return f
}
// NewLoginForm creates and returns a new login form.
func NewLoginForm(onLoginFormLoginButtonSelected func()) *tview.Form {
f := newBaseLoginForm()
f.
AddInputField("Email", "", 0, nil, nil).
AddPasswordField("Password", "", 0, 0, nil).
AddButton("Login", onLoginFormLoginButtonSelected)
return f
}
// NewMfaLoginForm creates and returns a new MFA login form.
func NewMfaLoginForm(onMfaLoginFormLoginButtonSelected func()) *tview.Form {
f := newBaseLoginForm().
AddPasswordField("Code", "", 0, 0, nil).
AddButton("Login", onMfaLoginFormLoginButtonSelected)
return f
}

View file

@ -18,3 +18,29 @@ func NewMainFlex(
return mf
}
func newBaseLoginForm() *tview.Form {
f := tview.NewForm()
f.
SetButtonsAlign(tview.AlignCenter).
SetBorder(true).
SetBorderPadding(0, 0, 1, 0)
return f
}
// NewLoginForm creates and returns a new login form.
func NewLoginForm(onLoginFormLoginButtonSelected func(), mfa bool) *tview.Form {
f := newBaseLoginForm()
f.AddButton("Login", onLoginFormLoginButtonSelected)
if mfa {
f.AddPasswordField("Code", "", 0, 0, nil)
} else {
f.
AddInputField("Email", "", 0, nil, nil).
AddPasswordField("Password", "", 0, 0, nil)
}
return f
}