discordo/ui/forms.go
2021-07-28 19:26:29 +04:00

33 lines
837 B
Go

package ui
import (
"github.com/gdamore/tcell/v2"
"github.com/rivo/tview"
)
func NewLoginForm(app *tview.Application, via string, onLoginFormLoginButtonSelected func()) (loginForm *tview.Form) {
loginForm = tview.NewForm().
AddButton("Login", onLoginFormLoginButtonSelected).
AddButton("Quit", onLoginFormQuitButtonSelected(app)).
SetButtonsAlign(tview.AlignCenter)
loginForm.
SetButtonBackgroundColor(tcell.GetColor("#5865F2")).
SetBorder(true).
SetBorderPadding(0, 0, 1, 1)
if via == "token" {
loginForm.AddPasswordField("Token", "", 0, 0, nil)
} else if via == "emailpassword" {
loginForm.
AddInputField("Email", "", 0, nil, nil).
AddPasswordField("Password", "", 0, 0, nil)
}
return loginForm
}
func onLoginFormQuitButtonSelected(app *tview.Application) func() {
return func() {
app.Stop()
}
}