diff options
Diffstat (limited to 'internal/tui')
| -rw-r--r-- | internal/tui/reader.go | 2 | ||||
| -rw-r--r-- | internal/tui/tui.go | 36 | ||||
| -rw-r--r-- | internal/tui/tui_test.go | 6 |
3 files changed, 16 insertions, 28 deletions
diff --git a/internal/tui/reader.go b/internal/tui/reader.go index 7f23f66..dc9141a 100644 --- a/internal/tui/reader.go +++ b/internal/tui/reader.go @@ -138,7 +138,7 @@ func (m ReaderModel) bookIndex(canonical string) int { func corpusVersions(cfg config.Config) []string { var out []string for _, v := range cfg.Versions { - if config.ValidVersion(v) && v != "bt" { + if config.ValidVersion(v) { out = append(out, v) } } diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 96d82c1..374537f 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -134,20 +134,14 @@ func shiftDate(date string, days int) string { return t.AddDate(0, 0, days).Format("2006-01-02") } -// fetchCmd issues the readings.Load fetch for the model's current date as a -// tea.Cmd, resolving to readingsMsg or errMsg. All follows cfg.All (config's -// gospel-only vs every-part choice); Offline follows cfg.Offline; refresh -// bypasses the cache (the "r" key), matching the CLI's --refresh. -func (m Model) fetchCmd(refresh bool) tea.Cmd { +// fetchCmd resolves the readings.Load for the model's current date as a +// tea.Cmd, yielding readingsMsg or errMsg. All follows cfg.All (config's +// gospel-only vs every-part choice); readings are always computed offline. +func (m Model) fetchCmd() tea.Cmd { cfg := m.cfg date := m.date return func() tea.Msg { - secs, info, err := readings.Load(cfg, readings.Options{ - Date: date, - Refresh: refresh, - Offline: cfg.Offline, - All: cfg.All, - }) + secs, info, err := readings.Load(cfg, readings.Options{Date: date, All: cfg.All}) if err != nil { return errMsg{err} } @@ -157,7 +151,7 @@ func (m Model) fetchCmd(refresh bool) tea.Cmd { // Init issues the first load. func (m Model) Init() tea.Cmd { - return m.fetchCmd(false) + return m.fetchCmd() } // Update handles key input and fetch results. @@ -196,16 +190,12 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.date = shiftDate(m.date, -1) m.loading = true m.err = nil - return m, m.fetchCmd(false) + return m, m.fetchCmd() case "right": m.date = shiftDate(m.date, +1) m.loading = true m.err = nil - return m, m.fetchCmd(false) - case "r": - m.loading = true - m.err = nil - return m, m.fetchCmd(true) + return m, m.fetchCmd() case "d": m.jumping = true m.jumpBuf = "" @@ -253,7 +243,7 @@ func (m Model) updateJump(msg tea.KeyMsg) (tea.Model, tea.Cmd) { m.date = t.Format("2006-01-02") m.loading = true m.err = nil - return m, m.fetchCmd(false) + return m, m.fetchCmd() } return m, nil case tea.KeyBackspace: @@ -423,12 +413,8 @@ func (m Model) bodyLines(w int) []string { _, blocks := render.GatherVersion(ver, sec, m.cfg.Lectionary, m.cfg.UILanguage) numW := maxNumWidth(blocks) - // The refrain-italic only applies to the bt responsorial-psalm block - // (its first, deduped paragraph); bible versions have no refrain block. - isPsalm := sec.PartID == "psalm" && ver == "bt" - for bi, b := range blocks { - refrain := isPsalm && bi == 0 - lines = append(lines, styleBlock(b, refrain, w, numW)...) + for _, b := range blocks { + lines = append(lines, styleBlock(b, false, w, numW)...) lines = append(lines, "") } } diff --git a/internal/tui/tui_test.go b/internal/tui/tui_test.go index d4aa855..68e09b5 100644 --- a/internal/tui/tui_test.go +++ b/internal/tui/tui_test.go @@ -153,12 +153,14 @@ func TestDayInfoLineOmittedWhenEmpty(t *testing.T) { // TestFooterKeysLocalised checks the footer keybar text follows // cfg.UILanguage. func TestFooterKeysLocalised(t *testing.T) { - en := Model{cfg: config.Config{UILanguage: "en"}, date: "2026-07-22"} + // Give the model a real terminal width so the one-line keybar is not wrapped + // across lines (the 80-col View() fallback would split "q quit"). + en := Model{cfg: config.Config{UILanguage: "en"}, date: "2026-07-22", width: 120} if out := en.View(); !strings.Contains(out, "q quit") { t.Errorf("en View() footer missing %q: %q", "q quit", out) } - pl := Model{cfg: config.Config{UILanguage: "pl"}, date: "2026-07-22"} + pl := Model{cfg: config.Config{UILanguage: "pl"}, date: "2026-07-22", width: 120} if out := pl.View(); !strings.Contains(out, "q wyjście") { t.Errorf("pl View() footer missing %q: %q", "q wyjście", out) } |
