diff --git a/cmd/terminal-client/tui/review.go b/cmd/terminal-client/tui/review.go index 622347a..1aea41f 100644 --- a/cmd/terminal-client/tui/review.go +++ b/cmd/terminal-client/tui/review.go @@ -9,3 +9,5 @@ type Review struct { Quality int Mentions []string } + +type ReviewStored string diff --git a/cmd/terminal-client/tui/tabreview.go b/cmd/terminal-client/tui/tabreview.go index ee5a1b6..5d5c54b 100644 --- a/cmd/terminal-client/tui/tabreview.go +++ b/cmd/terminal-client/tui/tabreview.go @@ -67,7 +67,6 @@ func (m *tabReview) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case "esc": m.mode = "view" case "enter": - m.mode = "view" cmds = append(cmds, m.StoreReview()) default: cmds = append(cmds, m.updateFormInputs(msg)) @@ -96,7 +95,10 @@ func (m *tabReview) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.logger.Log(fmt.Sprintf("got review %s", msg.ID)) m.selectedReview = msg m.UpdateForm() - + case ReviewStored: + m.logger.Log(fmt.Sprintf("stored review %s", msg)) + cmds = append(cmds, m.inputQuality.Focus()) + cmds = append(cmds, FetchNextUnratedReview(m.emdb)) } return m, tea.Batch(cmds...) @@ -193,12 +195,11 @@ func (m *tabReview) StoreReview() tea.Cmd { m.selectedReview.Quality = quality m.selectedReview.Mentions = strings.Split(mentions, ",") - review, err := m.emdb.UpdateReview(m.selectedReview) - if err != nil { + if err := m.emdb.UpdateReview(m.selectedReview); err != nil { return err } - return review + return ReviewStored(m.selectedReview.ID) } }