forms.go 742 B

123456789101112131415161718192021222324252627
  1. package ui
  2. import (
  3. "github.com/gdamore/tcell/v2"
  4. "github.com/rivo/tview"
  5. )
  6. func NewLoginForm(via string, onLoginFormLoginButtonSelected func(), onLoginFormQuitButtonSelected func()) (loginForm *tview.Form) {
  7. loginForm = tview.NewForm().
  8. AddButton("Login", onLoginFormLoginButtonSelected).
  9. AddButton("Quit", onLoginFormQuitButtonSelected).
  10. SetButtonsAlign(tview.AlignCenter)
  11. loginForm.
  12. SetButtonBackgroundColor(tcell.GetColor("#5865F2")).
  13. SetBorder(true).
  14. SetBorderPadding(0, 0, 1, 1)
  15. if via == "token" {
  16. loginForm.AddPasswordField("Token", "", 0, 0, nil)
  17. } else if via == "emailpassword" {
  18. loginForm.
  19. AddInputField("Email", "", 0, nil, nil).
  20. AddPasswordField("Password", "", 0, 0, nil)
  21. }
  22. return loginForm
  23. }