forms.go 802 B

1234567891011121314151617181920212223242526272829303132333435
  1. package ui
  2. import (
  3. "github.com/rivo/tview"
  4. )
  5. func newBaseLoginForm() *tview.Form {
  6. f := tview.NewForm()
  7. f.
  8. SetButtonsAlign(tview.AlignCenter).
  9. SetBorder(true).
  10. SetBorderPadding(0, 0, 1, 0)
  11. return f
  12. }
  13. // NewLoginForm creates and returns a new login form.
  14. func NewLoginForm(onLoginFormLoginButtonSelected func()) *tview.Form {
  15. f := newBaseLoginForm()
  16. f.
  17. AddInputField("Email", "", 0, nil, nil).
  18. AddPasswordField("Password", "", 0, 0, nil).
  19. AddButton("Login", onLoginFormLoginButtonSelected)
  20. return f
  21. }
  22. // NewMfaLoginForm creates and returns a new MFA login form.
  23. func NewMfaLoginForm(onMfaLoginFormLoginButtonSelected func()) *tview.Form {
  24. f := newBaseLoginForm().
  25. AddPasswordField("Code", "", 0, 0, nil).
  26. AddButton("Login", onMfaLoginFormLoginButtonSelected)
  27. return f
  28. }