diff --git a/go.mod b/go.mod index 8cdf8e5..1231bed 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.13 require ( github.com/charmbracelet/boba v0.6.3 - github.com/charmbracelet/charm v0.4.2-0.20200522154917-0a1ba5ae4e28 + github.com/charmbracelet/charm v0.4.2-0.20200522192006-ce78aabf4b25 github.com/charmbracelet/glamour v0.2.0 github.com/charmbracelet/tea v0.3.0 github.com/charmbracelet/teaparty v0.0.0-20200504225426-da64445a0e0d diff --git a/go.sum b/go.sum index 0747fd7..385fa60 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,8 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/charmbracelet/boba v0.6.1/go.mod h1:xqhji08CbPctzbvCi/GzmNvIFOhnWJnkl9N8T65gnK0= github.com/charmbracelet/boba v0.6.3 h1:3YisdYQ35tieYXbfpf8acdVN6d1DJHGKZc5kDJNkjg0= github.com/charmbracelet/boba v0.6.3/go.mod h1:9TUvThAOqjXWYZGOrZ4qyluTrmodxb8SqNR81BJluOU= -github.com/charmbracelet/charm v0.4.2-0.20200522154917-0a1ba5ae4e28 h1:qwEm+kLHiDuqZPMZIEDjYRdXYKfn7B9ZRBPI/ERTMrA= -github.com/charmbracelet/charm v0.4.2-0.20200522154917-0a1ba5ae4e28/go.mod h1:xZgRIZCddA0IAmbsR4zk4HHCj4Z1PLvQcqcZqtk0Pzo= +github.com/charmbracelet/charm v0.4.2-0.20200522192006-ce78aabf4b25 h1:ZQUYsUAskkhwkMOq1I7NlrfDwHtCwi5HspFa5O+Z4ug= +github.com/charmbracelet/charm v0.4.2-0.20200522192006-ce78aabf4b25/go.mod h1:xZgRIZCddA0IAmbsR4zk4HHCj4Z1PLvQcqcZqtk0Pzo= github.com/charmbracelet/glamour v0.2.0 h1:mTgaiNiumpqTZp3qVM6DH9UB0NlbY17wejoMf1kM8Pg= github.com/charmbracelet/glamour v0.2.0/go.mod h1:UA27Kwj3QHialP74iU6C+Gpc8Y7IOAKupeKMLLBURWM= github.com/charmbracelet/tea v0.2.0/go.mod h1:lADjwO2mMub9qvXSCA9vAkabVWO0HeUrv4uO/lG3C+k= diff --git a/ui/stash.go b/ui/stash.go index 8747cb2..5c2ba19 100644 --- a/ui/stash.go +++ b/ui/stash.go @@ -40,7 +40,7 @@ type stashErrMsg error type stashSpinnerTickMsg struct{} type gotStashMsg []*charm.Markdown type gotNewsMsg []*charm.Markdown -type gotStashedItemMsg *markdown +type fetchedMarkdownMsg *markdown type deletedStashedItemMsg int // MODEL @@ -273,8 +273,9 @@ func stashUpdate(msg boba.Msg, m stashModel) (stashModel, boba.Cmd) { // that comes back in the main update function. m.state = stashStateLoadingDocument doc := m.documents[m.markdownIndex()] + cmds = append(cmds, - loadStashedItem(m.cc, doc.ID, doc.markdownType), + loadMarkdown(m.cc, doc.ID, doc.markdownType), spinner.Tick(m.spinner), ) @@ -627,14 +628,22 @@ func loadNews(m stashModel) boba.Cmd { } } -func loadStashedItem(cc *charm.Client, id int, t markdownType) boba.Cmd { +func loadMarkdown(cc *charm.Client, id int, t markdownType) boba.Cmd { return func() boba.Msg { - md, err := cc.GetStashMarkdown(id) + var ( + md *charm.Markdown + err error + ) + if t == userMarkdown { + md, err = cc.GetStashMarkdown(id) + } else { + md, err = cc.GetNewsMarkdown(id) + } if err != nil { return stashErrMsg(err) } - return gotStashedItemMsg(&markdown{ - markdownType: t, + return fetchedMarkdownMsg(&markdown{ + markdownType: userMarkdown, Markdown: md, }) } diff --git a/ui/ui.go b/ui/ui.go index 6019d96..40f9fac 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -232,9 +232,7 @@ func update(msg boba.Msg, mdl boba.Model) (boba.Model, boba.Cmd) { m.pager.cc = msg cmds = append(cmds, cmd) - case gotStashedItemMsg: - // Loaded markdown document from the server. We'll render it before - // loading it into the pager. + case fetchedMarkdownMsg: m.pager.currentDocument = msg cmds = append(cmds, renderWithGlamour(m.pager, msg.Body))