discordo/ui/misc.go
2021-09-07 20:45:31 +04:00

46 lines
966 B
Go

package ui
import "github.com/rivo/tview"
// NewMainFlex creates and returns a new main flex.
func NewMainFlex(
treeV *tview.TreeView,
textV *tview.TextView,
i *tview.InputField,
) *tview.Flex {
rf := tview.NewFlex().
SetDirection(tview.FlexRow).
AddItem(textV, 0, 1, false).
AddItem(i, 3, 1, false)
mf := tview.NewFlex().
AddItem(treeV, 0, 1, false).
AddItem(rf, 0, 4, false)
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
}