Просмотр исходного кода

refactor: do not propagate login error

ayn2op 1 год назад
Родитель
Сommit
1783361d5f
2 измененных файлов с 6 добавлено и 12 удалено
  1. 2 6
      cmd/layout.go
  2. 4 6
      internal/login/form.go

+ 2 - 6
cmd/layout.go

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

+ 4 - 6
internal/login/form.go

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