discordo/internal/ui/login/password/model.go
2026-08-18 03:42:17 -04:00

36 lines
719 B
Go

package password
import (
"github.com/ayn2op/tview"
"github.com/ayn2op/tview/tabs"
)
type Model struct {
*tview.Form
}
func NewModel() *Model {
form := tview.NewForm().
AddInputField("Login", "", 0).
AddPasswordField("Password", "", 0, 0).
AddButton("Login")
return &Model{Form: form}
}
var _ tabs.Tab = (*Model)(nil)
func (m *Model) Label() string {
return "Password"
}
func (m *Model) Update(msg tview.Msg) tview.Cmd {
if _, ok := msg.(tview.FormSubmitMsg); ok {
login := m.GetFormItem(0).(*tview.InputField).Text()
password := m.GetFormItem(1).(*tview.InputField).Text()
if login == "" || password == "" {
return nil
}
return loginCmd(login, password)
}
return m.Form.Update(msg)
}