Repository navigation
session detail
github-actions[bot] edited this page Oct 12, 2026
·
2 revisions
-
Route:
/sessions/:sessionId(legacy/results/:resultId) -
Host Component:
apps/playground/app/pages/SessionDetailPage.tsx(or Result Detail component) -
Domain Models:
Session,EventRecord,Note,Notesource (rawContent + occurrence map; saved states inBlockRevision),BlockIndexRow
-
StickyPageHeader(apps/playground/src/panels/page-shells/StickyPageHeader.tsx). Renders workout title, execution date, and back button. -
RowsTable(@bitcobblers/wod-wiki-ui). Tabular split times and interval metrics. -
WqlBars/WqlTimeseries(@bitcobblers/wod-wiki-ui). Visual round pacing charts.
-
indexedDBService(apps/playground/src/services/db/IndexedDBService.ts). Retrieves theSessionrecord and associatedEventRecordstatement stream. -
eventsToStoredLogs(@bitcobblers/wod-wiki-core). Reconstructs chronological execution events and round splits.
-
Header Bar: Workout title, completion badge, start/end timestamps, elapsed time, and parent note link (
/notes/:noteId). - Performance Summary: Grid of high-level metric cards (Total Duration, Total Work, Average Heart Rate, Pace).
- Interactive Split Charts: Round-by-round bar chart and interval breakdown.
- Statement Stream: Detailed chronological log of every recorded event, round transition, and user metric entry.
- Navbar: Session completion header.
- Stacked Analytics: Metric cards stacked vertically, followed by full-width pacing chart.
- Collapsible Log: Statement stream collapsed behind an accordion disclosure to conserve vertical space.
- Thumb Dock FAB: "Repeat Workout" or "Share Result" button.
-
Event Reconstruction:
- Raw statements are not stored on the
Sessionrow directly. - The view dynamically queries
eventswhereresultId === sessionIdand folds them into display shapes viaeventsToStoredLogs.
- Raw statements are not stored on the
-
Parent Workout Re-route:
- Clicking the parent workout link navigates to
/notes/:noteId(or/c/:slug/:page-slugfor corpus items).
- Clicking the parent workout link navigates to