refactor(login): rename receiver id to f from self
This commit is contained in:
parent
3cafdcddef
commit
9c0e2bd1d7
1 changed files with 18 additions and 19 deletions
|
|
@ -22,26 +22,25 @@ type Form struct {
|
|||
}
|
||||
|
||||
func NewForm(app *tview.Application, done DoneFn) *Form {
|
||||
self := &Form{
|
||||
f := &Form{
|
||||
Pages: tview.NewPages(),
|
||||
form: tview.NewForm(),
|
||||
app: app,
|
||||
done: done,
|
||||
}
|
||||
|
||||
self.
|
||||
form.
|
||||
f.form.
|
||||
AddInputField("Email", "", 0, nil, nil).
|
||||
AddPasswordField("Password", "", 0, 0, nil).
|
||||
AddPasswordField("Code (optional)", "", 0, 0, nil).
|
||||
AddButton("Login", self.login)
|
||||
self.AddAndSwitchToPage("form", self.form, true)
|
||||
return self
|
||||
AddButton("Login", f.login)
|
||||
f.AddAndSwitchToPage("form", f.form, true)
|
||||
return f
|
||||
}
|
||||
|
||||
func (self *Form) login() {
|
||||
email := self.form.GetFormItem(0).(*tview.InputField).GetText()
|
||||
password := self.form.GetFormItem(1).(*tview.InputField).GetText()
|
||||
func (f *Form) login() {
|
||||
email := f.form.GetFormItem(0).(*tview.InputField).GetText()
|
||||
password := f.form.GetFormItem(1).(*tview.InputField).GetText()
|
||||
if email == "" || password == "" {
|
||||
return
|
||||
}
|
||||
|
|
@ -62,47 +61,47 @@ func (self *Form) login() {
|
|||
)
|
||||
err = client.RequestJSON(&resp, http.MethodPost, api.EndpointLogin, body)
|
||||
if err != nil {
|
||||
self.onError(err)
|
||||
f.onError(err)
|
||||
return
|
||||
}
|
||||
|
||||
if resp.Token == "" && resp.MFA {
|
||||
code := self.form.GetFormItem(2).(*tview.InputField).GetText()
|
||||
code := f.form.GetFormItem(2).(*tview.InputField).GetText()
|
||||
if code == "" {
|
||||
self.onError(errors.New("code required"))
|
||||
f.onError(errors.New("code required"))
|
||||
return
|
||||
}
|
||||
|
||||
// Attempt to login using the code.
|
||||
resp, err = client.TOTP(code, resp.Ticket)
|
||||
if err != nil {
|
||||
self.onError(err)
|
||||
f.onError(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if resp.Token == "" {
|
||||
self.onError(errors.New("missing token"))
|
||||
f.onError(errors.New("missing token"))
|
||||
return
|
||||
}
|
||||
|
||||
go keyring.Set(consts.Name, "token", resp.Token)
|
||||
|
||||
if self.done != nil {
|
||||
self.done(resp.Token)
|
||||
if f.done != nil {
|
||||
f.done(resp.Token)
|
||||
}
|
||||
}
|
||||
|
||||
func (self *Form) onError(err error) {
|
||||
func (f *Form) onError(err error) {
|
||||
slog.Error("failed to login", "err", err)
|
||||
|
||||
modal := tview.NewModal().
|
||||
SetText(err.Error()).
|
||||
AddButtons([]string{"Close"}).
|
||||
SetDoneFunc(func(_ int, _ string) {
|
||||
self.RemovePage("modal").SwitchToPage("form")
|
||||
f.RemovePage("modal").SwitchToPage("form")
|
||||
})
|
||||
self.
|
||||
f.
|
||||
AddAndSwitchToPage("modal", centered(modal, 0, 0), true).
|
||||
ShowPage("form")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue