refactor: do not propagate login error

This commit is contained in:
ayn2op 2025-01-26 19:58:53 -05:00
parent f2e8a05bac
commit 1783361d5f
2 changed files with 6 additions and 12 deletions

View file

@ -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 {

View file

@ -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)
}
}