feat(flow): filter the timeline by agent
Adds an agent filter to the FL0W header (#1473): a select listing the live agents narrows the timeline to messages involving the chosen agent (matched on `from` OR `to`). Each message row now carries `data-from`/`data-to`; non-matching rows get `.flow-hidden`. New rows pick up the active filter at render time; changing the filter re-scans existing rows. The selection persists in localStorage so a reload or tab-switch keeps the view. The dropdown is populated from the live container list (and stays current on container add/remove); a saved selection survives even if that agent isn't currently listed. Pure frontend; composes with the sent+delivered collapse (the surviving collapsed row keeps its `data-from`/`data-to`). Closes #1473.
This commit is contained in:
parent
d9c7b7fcc1
commit
4c77eefc51
3 changed files with 77 additions and 1 deletions
|
|
@ -163,3 +163,19 @@ body.flow-shell .flow-main-slim {
|
|||
wants `#inbox-section` in the DOM (legacy contract), but we
|
||||
surface the messages via the pill/flyout instead. */
|
||||
.flow-inbox-headless { display: none !important; }
|
||||
|
||||
/* Agent filter (#1473): a select in the FL0W header narrows the
|
||||
timeline to messages involving one agent. Non-matching rows get
|
||||
`.flow-hidden`; the select reuses the journal-unit control look. */
|
||||
.flow-filter {
|
||||
font-family: inherit;
|
||||
font-size: 0.85em;
|
||||
background: var(--bg-elev);
|
||||
color: var(--amber);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
padding: 0.25em 0.5em;
|
||||
margin-left: auto;
|
||||
}
|
||||
.flow-filter:focus { outline: 1px solid var(--purple); }
|
||||
.msgrow.flow-hidden { display: none; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue