diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md index d46f953c..f2d75b38 100644 --- a/docs/web-ui/dashboard.md +++ b/docs/web-ui/dashboard.md @@ -77,12 +77,10 @@ the history row shape). **M1ND H4S QU3STI0NS** — pending `ask` calls waiting on the operator, with amber pulsing border. Anatomy of each card: -- **Filter chips** — `all · N`, `@operator · N`, `@peer · N`, - plus one chip per participant name (`@asker · N` / `@target · N`). - Every chip shows its own count so the operator can see the - distribution at a glance. Clicking a chip narrows the visible - list; selection persists in localStorage so a tab switch doesn't - lose the filter. +- **Filter chips** — `all · N`, `@operator`, `@peer`, plus one + chip per participant name (`@asker` / `@target`). Clicking a + chip narrows the visible list; selection persists in + localStorage so a tab switch doesn't lose the filter. - **Question card** — timestamp · asker → target · body text (with file-path links). Operator-targeted questions (`target = null`) show `▸ ANSW3R`; peer-targeted questions (`target = diff --git a/frontend/packages/dashboard/src/tabs.js b/frontend/packages/dashboard/src/tabs.js index 3f4ad6a3..1d4d21ea 100644 --- a/frontend/packages/dashboard/src/tabs.js +++ b/frontend/packages/dashboard/src/tabs.js @@ -1863,20 +1863,13 @@ window.marked = marked; b.addEventListener('click', () => setQuestionsFilter(value)); return b; }; - // Count pending questions per filter value so each chip shows its - // own hit count — the operator can see "operator · 2 / peer · 3" - // at a glance without clicking through each tab. - const operatorCount = allPending.filter((q) => !q.target).length; - const peerCount = allPending.filter((q) => !!q.target).length; - const agentCount = (name) => allPending.filter( - (q) => q.asker === name || q.target === name).length; filterRow.append( - mkChip('all', `all · ${allPending.length}`), - mkChip('operator', `@operator · ${operatorCount}`), - mkChip('peer', `@peer · ${peerCount}`), + mkChip('all', `all · ${allPending.length}`), + mkChip('operator', '@operator'), + mkChip('peer', '@peer'), ); for (const name of Array.from(participants).sort()) { - filterRow.append(mkChip('agent:' + name, `@${name} · ${agentCount(name)}`)); + filterRow.append(mkChip('agent:' + name, '@' + name)); } // Evict resolved/cancelled questions from the row cache.