Browse Source

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

rigormorrtiss 4 years ago
parent
commit
9c3e390b33
3 changed files with 29 additions and 38 deletions
  1. 3 3
      discordo.go
  2. 0 35
      ui/forms.go
  3. 26 0
      ui/misc.go

+ 3 - 3
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)
 	}

+ 0 - 35
ui/forms.go

@@ -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
-}

+ 26 - 0
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
+}