|
@@ -55,59 +55,29 @@ func main() {
|
|
|
c.Application.SetRoot(c.MainFlex, true)
|
|
c.Application.SetRoot(c.MainFlex, true)
|
|
|
c.Application.SetFocus(c.GuildsTree)
|
|
c.Application.SetFocus(c.GuildsTree)
|
|
|
} else {
|
|
} else {
|
|
|
- loginForm := ui.NewLoginForm(false)
|
|
|
|
|
|
|
+ loginForm := tview.NewForm()
|
|
|
|
|
+ loginForm.AddPasswordField("Token", "", 0, 0, nil)
|
|
|
|
|
+ loginForm.SetButtonsAlign(tview.AlignCenter)
|
|
|
|
|
+
|
|
|
|
|
+ loginForm.SetTitle("Login")
|
|
|
|
|
+ loginForm.SetTitleAlign(tview.AlignLeft)
|
|
|
|
|
+ loginForm.SetBorder(true)
|
|
|
|
|
+ loginForm.SetBorderPadding(0, 0, 1, 1)
|
|
|
|
|
+
|
|
|
loginForm.AddButton("Login", func() {
|
|
loginForm.AddButton("Login", func() {
|
|
|
- email := loginForm.GetFormItem(0).(*tview.InputField).GetText()
|
|
|
|
|
- password := loginForm.GetFormItem(1).(*tview.InputField).GetText()
|
|
|
|
|
- if email == "" || password == "" {
|
|
|
|
|
|
|
+ tkn := loginForm.GetFormItem(0).(*tview.InputField).GetText()
|
|
|
|
|
+ if tkn == "" {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // Login using the email and password only
|
|
|
|
|
- lr, err := c.State.Login(email, password)
|
|
|
|
|
|
|
+ err := c.Run(tkn)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
log.Fatal(err)
|
|
log.Fatal(err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if lr.Token != "" && !lr.MFA {
|
|
|
|
|
- err = c.Run(lr.Token)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- log.Fatal(err)
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- c.DrawMainFlex()
|
|
|
|
|
- c.Application.SetRoot(c.MainFlex, true)
|
|
|
|
|
- c.Application.SetFocus(c.GuildsTree)
|
|
|
|
|
-
|
|
|
|
|
- go keyring.Set(name, "token", lr.Token)
|
|
|
|
|
- } else {
|
|
|
|
|
- // The account has MFA enabled, reattempt login with MFA code and ticket.
|
|
|
|
|
- mfaLoginForm := ui.NewLoginForm(true)
|
|
|
|
|
- mfaLoginForm.AddButton("Login", func() {
|
|
|
|
|
- code := mfaLoginForm.GetFormItem(0).(*tview.InputField).GetText()
|
|
|
|
|
- if code == "" {
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- lr, err = c.State.TOTP(code, lr.Ticket)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- log.Fatal(err)
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- err = c.Run(lr.Token)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- log.Fatal(err)
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- c.DrawMainFlex()
|
|
|
|
|
- c.Application.SetRoot(c.MainFlex, true)
|
|
|
|
|
- c.Application.SetFocus(c.GuildsTree)
|
|
|
|
|
-
|
|
|
|
|
- go keyring.Set(name, "token", lr.Token)
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- c.Application.SetRoot(mfaLoginForm, true)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ c.DrawMainFlex()
|
|
|
|
|
+ c.Application.SetRoot(c.MainFlex, true)
|
|
|
|
|
+ c.Application.SetFocus(c.GuildsTree)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
c.Application.SetRoot(loginForm, true)
|
|
c.Application.SetRoot(loginForm, true)
|
|
@@ -126,11 +96,6 @@ func main() {
|
|
|
tview.Borders.Horizontal = 0
|
|
tview.Borders.Horizontal = 0
|
|
|
tview.Borders.Vertical = 0
|
|
tview.Borders.Vertical = 0
|
|
|
|
|
|
|
|
- err := c.Config.Load()
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
themeTable, ok := c.Config.State.GetGlobal("theme").(*lua.LTable)
|
|
themeTable, ok := c.Config.State.GetGlobal("theme").(*lua.LTable)
|
|
|
if !ok {
|
|
if !ok {
|
|
|
themeTable = c.Config.State.NewTable()
|
|
themeTable = c.Config.State.NewTable()
|
|
@@ -144,7 +109,7 @@ func main() {
|
|
|
tview.Styles.BorderColor = tcell.GetColor(lua.LVAsString(border))
|
|
tview.Styles.BorderColor = tcell.GetColor(lua.LVAsString(border))
|
|
|
tview.Styles.TitleColor = tcell.GetColor(lua.LVAsString(title))
|
|
tview.Styles.TitleColor = tcell.GetColor(lua.LVAsString(title))
|
|
|
|
|
|
|
|
- err = c.Application.Run()
|
|
|
|
|
|
|
+ err := c.Application.Run()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
log.Fatal(err)
|
|
log.Fatal(err)
|
|
|
}
|
|
}
|