Projects BibleWeb Themes & Parables Bible-wide themes
In Progress

Bible-wide themes

Area: Themes & Parables Milestone: v3

Context

Problem: The Jesus Themes browser only covers Gospel verses (Matthew–John). Many Bible themes span the entire canon — from Genesis through Revelation. Users studying a topic like "Sexuality" or "Justice" want to see what the whole Bible says, not just the Gospels.

Solution: Extend the theme browser to include verses from all 66 books, shown in a separate "Themes from the Whole Bible" section below the Jesus themes.

Not included: This is NOT a different feature from the theme browser — it uses the same infrastructure. The difference is that Bible-wide themes include non-Gospel verse references.

Functional

The themes page has a "Themes from the Whole Bible" section that shows themes with verses spanning the entire Bible, not just the Gospels.

Current state:

  • The section exists on the themes page
  • Only "Sexuality" currently has non-Gospel verses populated
  • Other Bible-wide themes show as greyed out / empty

Expected behavior (when fully populated):

  1. User sees "Themes from the Whole Bible" section on /themes
  2. Clicks a theme → sees verses from all books (OT and NT)
  3. Same collapsible book sections and verse display as Jesus themes

Edge cases:

  • The DB schema fully supports this (verse_themes can reference any book_id)
  • The UI renders it — the data just needs to be populated
  • Links go to /themes/[id] without ?section=jesus (shows all books)

UX & Design

Current rendering:

  • Section appears greyed out (opacity: 0.4, pointer-events: none) when bibleThemes.length === 0
  • When themes have data, they render as the same card grid as Jesus themes

Technical

Same infrastructure as Jesus themes:

  • Same themes and verse_themes tables
  • Same getThemesWithSections() query — the has_non_gospel flag identifies Bible-wide themes
  • Same detail page — without ?section=jesus, all books are shown

What's missing: Verse-theme data for non-Gospel books. The schema, queries, and UI all work — only the data needs populating.

Files:

  • Same files as Jesus Themes Browser — no code changes needed, only data

Status

Current: DONE (infrastructure) / effectively PLANNED (data population) Milestone: v3 Priority: Medium — extends an existing feature with more data

Note: This feature is marked DONE because the UI and infrastructure exist, but it's functionally incomplete — only "Sexuality" has non-Gospel data. Consider reclassifying as IN_PROGRESS or PLANNED.

History:

  • UI section added alongside Jesus themes
  • Data population deferred to focus on Jesus-specific themes first

Dependencies:

  • Requires: theme browser infrastructure (DONE)
  • Blocks: nothing

Screenshots

Feature screenshot