# 016 — FilterBar UI integration ## Summary Wire the FilterBar frontend component to the real filter query language instead of the current naive client-side substring match in `App.tsx` (`logs.filter((l) => l.text.includes(filter))`). ## Scope - Send the raw filter string to `GET /api/logs`/`GET /api/timeline` via the new `filter` param from [007](007-filterbar-integration.md), instead of filtering client-side. - Surface parse errors from the API (4xx + message) inline under the FilterBar input. - Remove the now-dead client-side `visibleLogs` substring filter in `App.tsx`. ## Acceptance criteria - Typing a valid filter expression (regex + metric comparisons combined with and/or) narrows both LogPreview and LogTimeline via server-side evaluation. - An invalid expression shows an inline error and does not clear/break the currently-displayed logs. ## Depends on - [007 — FilterBar query integration](007-filterbar-integration.md)