M4: presentational review recap
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,16 @@ function evidenceBlock(ev) {
|
||||
</div>`;
|
||||
}
|
||||
|
||||
// reviewSummary renders a presentational recap from already-available state:
|
||||
// the commitment plus the per-window evidence buckets. No new backend data.
|
||||
function reviewSummary(ev) {
|
||||
if (!ev) return '';
|
||||
const rows = (ev.buckets || []).map(b =>
|
||||
`<div class="summary-row"><span>${(b.class || '?')} · ${b.title || ''}</span><span>${fmt(b.seconds)}</span></div>`).join('');
|
||||
const switches = `<div class="summary-row"><span>context switches</span><span>${ev.switch_count || 0}</span></div>`;
|
||||
return `<div class="band summary">${switches}${rows}</div>`;
|
||||
}
|
||||
|
||||
// updateActiveDrift owns the active status band: it renders on-task, nudge,
|
||||
// drift, or pending content into #statusband and rebinds the buttons.
|
||||
function updateActiveDrift(state) {
|
||||
@@ -204,8 +214,9 @@ function render(state) {
|
||||
<div class="band">
|
||||
<div class="action">Session ended</div>
|
||||
<p class="meta">${c.next_action || ''}</p>
|
||||
<p class="meta">done when: ${c.success_condition || ''}</p>
|
||||
</div>
|
||||
${evidenceBlock(state.evidence)}
|
||||
${reviewSummary(state.evidence)}
|
||||
<div class="band"><button id="end" class="btn btn-primary">End</button></div>`;
|
||||
document.getElementById('end').onclick = () => post('/end');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user