package main import ( "fmt" "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/pop/inbox" ) func runInbox(days int) error { m := inbox.NewInboxModel() m.SetLoading(true) emails, err := FetchAllUnreadEmails(days) if err != nil { m.SetError(err) m.SetLoading(false) p := tea.NewProgram(m) if _, err := p.Run(); err != nil { return err } return nil } items := make([]inbox.EmailItem, len(emails)) for i, e := range emails { items[i] = inbox.EmailItem{ UID: e.UID, From: e.From, FromName: e.FromName, Subject: e.Subject, Date: e.Date, Preview: e.Preview, Account: e.Account, AccountID: e.AccountID, } } m.SetEmails(items) m.SetLoading(false) p := tea.NewProgram(m) if _, err := p.Run(); err != nil { return fmt.Errorf("failed to run inbox: %w", err) } return nil }