Problem: Users reading a chapter may want to quickly check what other verses are connected to the one they're reading — without leaving the reader to open the full graph view.
Solution: A drawer panel that slides in from the right showing cross-references for a selected verse. It has its own internal navigation — clicking a cross-ref loads that verse's references within the sidebar, building a breadcrumb trail.
Not included: The full interactive graph. This is a simpler list-based exploration within a drawer.
User flow:
Edge cases:
Drawer: Right side, 480px width, full viewport height.
Ref cards: Book abbreviation, chapter:verse reference, vote count badge (colored), up to 3 lines of verse text (CSS line-clamp).
Breadcrumb: Shows exploration path at the top. Backspace key goes back.
Tier gate: crossRefGraph (Pro+)
Component: CrossRefSidebar.svelte — uses Drawer layout component with variant="right".
API: Same GET /api/crossrefs/[bookId]/[chapter]/[verse]?minVotes=N.
Query: getCrossRefsWithText() — fetches both directions (from/to), deduplicates targets, batch-fetches verse texts. Response includes targetText and targetTextNl.
Internal navigation: breadcrumbs: VerseLocation[] state tracks path. Clicking a ref pushes to breadcrumbs and re-fetches.
Files:
apps/web/src/lib/components/bible/CrossRefSidebar.svelteapps/web/src/routes/api/crossrefs/[bookId]/[chapter]/[verse]/+server.tsapps/web/src/lib/server/queries/cross-refs.tsCurrent: DONE Milestone: v2 Priority: High — makes cross-references accessible during reading
History:
Dependencies: