refactor: do not propagate login error
This commit is contained in:
parent
f2e8a05bac
commit
1783361d5f
2 changed files with 6 additions and 12 deletions
|
|
@ -42,17 +42,13 @@ func newLayout(cfg *config.Config) *Layout {
|
|||
|
||||
func (l *Layout) show(token string) error {
|
||||
if token == "" {
|
||||
loginForm := login.NewForm(l.app, func(token string, err error) {
|
||||
if err != nil {
|
||||
slog.Error("failed to login", "err", err)
|
||||
return
|
||||
}
|
||||
|
||||
loginForm := login.NewForm(l.app, func(token string) {
|
||||
if err := l.show(token); err != nil {
|
||||
slog.Error("failed to show app", "err", err)
|
||||
return
|
||||
}
|
||||
})
|
||||
|
||||
l.app.SetRoot(loginForm, true)
|
||||
} else {
|
||||
if err := openState(token, l.app, l.cfg); err != nil {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package login
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"log/slog"
|
||||
|
||||
"github.com/ayn2op/discordo/internal/config"
|
||||
"github.com/diamondburned/arikawa/v3/api"
|
||||
|
|
@ -10,7 +11,7 @@ import (
|
|||
"github.com/zalando/go-keyring"
|
||||
)
|
||||
|
||||
type DoneFn = func(token string, err error)
|
||||
type DoneFn = func(token string)
|
||||
|
||||
type Form struct {
|
||||
*tview.Flex
|
||||
|
|
@ -141,14 +142,11 @@ func (self *Form) login() {
|
|||
go keyring.Set(config.Name, "token", resp.Token)
|
||||
|
||||
if self.done != nil {
|
||||
self.done(resp.Token, nil)
|
||||
self.done(resp.Token)
|
||||
}
|
||||
}
|
||||
|
||||
func (self *Form) onError(err error) {
|
||||
slog.Error("failed to login", "err", err)
|
||||
self.errorTextView.SetText(err.Error())
|
||||
|
||||
if self.done != nil {
|
||||
self.done("", err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue