SPA-like reader: summaries + Q&A integrated in the main view (HTMX inline-expand) #16

Open
opened 2026-06-12 06:02:01 +00:00 by mathias · 0 comments
Owner

Problem

The reader is multi-page: list of cards → navigate to a separate detail page (/v/{id}) for the full summary + chat. Feels less fluid than a SPA.

Current state

ADR-027 already docks per-video chat inline below the summary — but only on the detail page. The gap is bringing the full summary + Q&A into the list itself, no page hop.

Decision (agreed)

HTMX inline-expand, no SPA framework — click a list card → its full summary + chatSection expand in place; reuse existing fragments; stay HTMX+Templ (ADR-003 ethos). Not React/Svelte.

Process (in order)

  1. Requirements + architecture → ADR (expand/collapse model, fragment reuse, history/back behavior, no-JS fallback to the detail page).
  2. BDD scenarios + coverage map.
  3. TDD → implement.
  4. SemVer + docs.

Pairs with the visual refresh (#3) and benefits from the metrics (#1) for UX latency.

## Problem The reader is multi-page: list of cards → navigate to a separate detail page (`/v/{id}`) for the full summary + chat. Feels less fluid than a SPA. ## Current state ADR-027 already docks per-video chat **inline below the summary** — but only on the **detail page**. The gap is bringing the full summary + Q&A **into the list itself**, no page hop. ## Decision (agreed) **HTMX inline-expand, no SPA framework** — click a list card → its full summary + `chatSection` expand in place; reuse existing fragments; stay HTMX+Templ (ADR-003 ethos). Not React/Svelte. ## Process (in order) 1. Requirements + architecture → ADR (expand/collapse model, fragment reuse, history/back behavior, no-JS fallback to the detail page). 2. BDD scenarios + coverage map. 3. TDD → implement. 4. SemVer + docs. Pairs with the visual refresh (#3) and benefits from the metrics (#1) for UX latency.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/tapir#16