A "why can't I accept?" override on the filter bar

Featurekamo-internal
Shipped
September 3, 2026 at 9:16 PM UTC
Author
Kamo
Commit
64255b8

Right-aligned on the /leads filter bar, wearing the Leads nav icon with the same prohibited emblem — so the thing on the nav that says "you are blocked" and the thing here that says "here is why" are visibly one statement. Only rendered while the member is actually blocked. It is not a filter that happens to be empty, it is a state that either exists or does not, so when the prohibition clears — a realtime accept-gate event, or a refresh after the last note was written — the control disappears and the filters come back on their own. An effect drops the override when that happens: leaving it latched would strand the grid on a `uid IN ()` matching nothing, with the filters still greyed and no visible control left to turn them back on. Pressed, it OVERRIDES rather than narrows. buildLeadGridQuery returns early on blockingLeadUids, so no market tab, status tab, agent, date or search term applies. That is deliberate: the blocking leads are scattered across whatever markets and statuses they happen to be in, and intersecting with the bar would show a subset while reading as the whole list — exactly the wrong thing to tell somebody trying to get unblocked. An empty set asks for `uid=0` rather than dropping the constraint, so it can never widen to the organisation. The status tabs and every control on the bar are greyed and made inert while it is on, because a bar that still looked live would be lying about what chose the rows. The toggle itself is excluded by attribute so it stays pressable, and the action buttons beside the tabs are not filters so they stay live. Paging resets on each toggle — the result set is a different one and the old page number means nothing against it. Off, the button pulses: it is the one thing on the bar a blocked member has to notice, since it is why their leads have stopped arriving. On, the grid itself is the signal and the animation would be noise. Honours prefers-reduced-motion.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing