46 lines
966 B
Go
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
|
|
}
|