Skip to content

let a study work through a list, passage by passage - #203

Merged
Bij4n merged 3 commits into
mainfrom
study-reading-lists
Oct 11, 2026
Merged

Bij4n merged 3 commits into
mainfrom
study-reading-lists

Conversation

@Bij4n

@Bij4n Bij4n commented Oct 11, 2026

Copy link
Copy Markdown
Owner

A study can now work through the parables, the encounters, the sayings, or a theme, one passage at a time, with a marker for where the group is.

Starting one

The new-study form (and the edit form) gains Work through a list: no list, one of the three lists, or one of the eight themes. Choosing a list makes it a Highlighted in Red study.

The study page

A study with a list shows Working through: The Parables (or the theme's name), a button that opens the passage the study is on, and the whole list in order with a We are here badge. A study without a list looks exactly as before.

Reading a passage

/studies/:id/passages/:slug reads one passage in the study's own reader: only that passage's verses, under the red lens (an encounter stays undimmed), with a tab for each gospel that tells it. Previous / next step through the study's list, not through chapters. Passages that are not on the study's list, and people who are not in the study, get a 404.

Where the study is

A manager sees Mark this as where we are on any passage; plain members don't. It is set by hand on purpose. The chapter-based Reading together card follows the latest shared highlight, but a group that meets weekly shouldn't be moved along because one member read ahead.

Schema

One migration adds two nullable columns to groups: reading_list and current_passage. db:prepare runs it on deploy; no manual step.

Live updates

A telling always sits inside one chapter, so the passage page subscribes to that chapter's existing stream. Shared highlights and notes behave as they do on a chapter page; notes anchored elsewhere in the chapter are left out.

Specs

Model specs for the list, its validation, ordering and the current passage. Request specs for the form, the study page, the passage reader, stepping, other gospels, the three 404 cases, and who may move the marker. A system spec that starts a parables study from the form, reads two passages, marks one and sees the marker on the study page, plus axe (WCAG 2.1 AA) and 375px overflow on the form, the study page and a passage.

For the owner

  • The form now has two related controls: What this study reads and Work through a list. Picking a list overrides the first one to Highlighted in Red; the hint under the list says so. If that reads awkwardly I can fold them into one control.
  • On a study passage page the translation name appears twice (above the title and beside the reference). Cosmetic; easy to trim.

Bij4n added 3 commits October 11, 2026 00:49
groups.reading_list names a list the study works through: the
parables, the encounters, the sayings, or a theme. groups.current_passage
is the passage a manager last marked as where the study is; without one
the study is at the first passage. Choosing a list makes the study a
Highlighted in Red study. Both columns are nullable, so existing
studies are untouched.
The new-study form offers 'Work through a list'. A study with a list
shows it on its page with a 'We are here' marker and opens at that
passage.

/studies/:id/passages/:slug reads one passage in the study's reader:
only that passage's verses, under the lens (an encounter stays
undimmed), with a tab per gospel that tells it and previous/next
through the study's own list. A manager can mark the passage as where
the study is. Passages off the list, and people outside the study, get
a 404.

Because a telling sits inside one chapter, the page uses that
chapter's existing live-update stream and shared highlights work as
they do in a chapter.
@Bij4n
Bij4n merged commit 85698f8 into main Oct 11, 2026
5 checks passed
@Bij4n
Bij4n deleted the study-reading-lists branch October 11, 2026 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant