diff --git a/discordo.go b/discordo.go index a83cabd..428c051 100644 --- a/discordo.go +++ b/discordo.go @@ -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) } diff --git a/ui/forms.go b/ui/forms.go deleted file mode 100644 index 5edb29f..0000000 --- a/ui/forms.go +++ /dev/null @@ -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 -} diff --git a/ui/misc.go b/ui/misc.go index 22f7757..3f087a5 100644 --- a/ui/misc.go +++ b/ui/misc.go @@ -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 +}