diff --git a/events/events.go b/events/events.go index 9329853..6f68c70 100644 --- a/events/events.go +++ b/events/events.go @@ -1,7 +1,6 @@ package events const ( - Quit = "quit" InvoiceCreated = "invoice.created" InvoiceSettled = "invoice.settled" ) diff --git a/ui/controller.go b/ui/controller.go index d002097..ff3410e 100644 --- a/ui/controller.go +++ b/ui/controller.go @@ -13,6 +13,7 @@ import ( ) type controller struct { + logger logging.Logger models *models.Models views *views.Views } @@ -67,15 +68,14 @@ func (c *controller) SetModels(ctx context.Context) error { return c.models.RefreshChannels(ctx) } -func (c *controller) Refresh(ctx context.Context, sub chan *events.Event) error { +func (c *controller) Listen(ctx context.Context, g *gocui.Gui, sub chan *events.Event) { + c.logger.Debug("Listening...") for event := range sub { - if event.Type == events.Quit { - break + switch event.Type { + default: + c.logger.Info("event received", logging.String("type", event.Type)) } - c.models.App.Logger.Info("models loop", logging.String("type event", event.Type)) } - - return gocui.ErrQuit } func quit(g *gocui.Gui, v *gocui.View) error { @@ -104,6 +104,7 @@ func (c *controller) setKeyBinding(g *gocui.Gui) error { func newController(app *app.App) *controller { m := models.New(app) return &controller{ + logger: app.Logger.With(logging.String("logger", "controller")), models: m, views: views.New(m), } diff --git a/ui/ui.go b/ui/ui.go index 50d95bb..281181f 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -30,12 +30,7 @@ func Run(ctx context.Context, app *app.App, sub chan *events.Event) error { return err } - go func() { - err := ctrl.Refresh(ctx, sub) - if err != nil { - g.Update(func(*gocui.Gui) error { return err }) - } - }() + go ctrl.Listen(ctx, g, sub) err = g.MainLoop() close(sub)