forms.go 871 B

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