Lay out the Follow-ups banner like bb's Queue card - #20
Merged
Merged
Conversation
The banner stacks right above bb's own Queue card, and the two read differently: each follow-up row carried six hover icons, and the header was a sentence with a leading disclosure triangle. It now matches its sibling. The header is a "Follow-ups N" label and count, with the collapse chevron on the right. Each row shows one action and keeps the rest in a ⋯ menu. The inline action is a guess from the row's reason (mainActionFor): out-of-scope work leads with Hand off, everything else with Put in composer. Cleanup will lead with a Queue action once one exists. The menu holds whichever of those two is not inline, plus Edit, Describe (rows without detail), Open in the panel, Mark done and Dismiss. Stopping a running describe stays on the row. Edit now happens in place, as in the Queue card: the text becomes a field, Enter or blur saves through followups_amend, Escape restores it, and a refusal (duplicate, dismissed wording) is reported in a toast. Detail, file and reason are still edited in the panel. The menu uses @radix-ui/react-dropdown-menu, which bb shims at runtime, so it is a type-only devDependency pinned by `bb plugin types` and bundles nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Follow-ups banner sits right above bb's own Queue card, and the two read differently. Each follow-up row carried six hover icons, and the header was a sentence with a leading disclosure triangle. This lays the banner out like its sibling.
What changed
Header: a "Follow-ups N" label and count, then the reason rollup, the in-progress count and the panel arrow. The collapse chevron now sits on the right, as on the Queue card. The small plugin glyph before the label is gone.
One inline action per row, the rest behind ⋯.
mainActionFor(inlib/followups.ts) guesses the next step from the row's reason:The menu holds whichever of those two isn't inline, then Edit, Describe in more detail (only on rows without detail), Open in the panel, and below a divider, Mark done and Dismiss. Stop describing stays on the row while a helper runs.
Editing in place, as in the Queue card. The text becomes a field. Enter or blur saves through
followups_amend, and Escape puts the text back. A refusal (a duplicate, or wording dismissed earlier) shows its reason in a toast. Detail, file and reason are still edited in the panel ("Open in the panel").The menu bundles nothing. It uses
@radix-ui/react-dropdown-menu, which bb shims at runtime. It's a type-only devDependency pinned to the host's version bybb plugin types, the same waysonneris. The plugin's lockfile adds only that dev-only tree; no existing entry changed.Docs: README and
PLUGIN_OVERVIEW.mddescribe the new row layout. There's no version bump, because Publish follow-up progress live, and let Thread Badges draw any plugin's complications #17 bumps Follow Up's version, and the two PRs touch different README sections.Verification
npm run checkpasses on top ofmain(55bdbd2, after rebasing over Reset pinned tabs on close, and add a recent-order close setting #19). Follow Up has 187node --testtests and 54 vitest tests.New tests: 11 in
tests/ui/banner-actions.test.tsx, plus 1 unit test formainActionFor. They cover:Existing tests: the pill-removal tests now pick Done and Dismiss from the row menu. The menu items keep the old accessible names.
Deliberate breaks: nine of them, each failing at least one test:
Checked in bb 0.45, linked from the branch and driven by a headless browser:
That pass found the detail tooltip opening over the edit field, which is fixed and tested.
Choices this made
mainActionFor.🤖 Generated with Claude Code