40 lines
895 B
Go
40 lines
895 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
|
|
}
|
|
|
|
// NewLoginWidget creates and returns a new login widget.
|
|
func NewLoginWidget(onLoginFormLoginButtonSelected func(), mfa bool) *tview.Form {
|
|
w := tview.NewForm()
|
|
w.
|
|
AddButton("Login", onLoginFormLoginButtonSelected).
|
|
SetButtonsAlign(tview.AlignCenter).
|
|
SetBorder(true).
|
|
SetBorderPadding(0, 0, 1, 0)
|
|
|
|
if mfa {
|
|
w.AddPasswordField("Code", "", 0, 0, nil)
|
|
} else {
|
|
w.
|
|
AddInputField("Email", "", 0, nil, nil).
|
|
AddPasswordField("Password", "", 0, 0, nil)
|
|
}
|
|
|
|
return w
|
|
}
|