Repository navigation
feat(ui): add the small shared bits callers hand-roll - #3589
Merged
Merged
Conversation
Add Banner, Progress, OneLine, HoverCardRow and HoverCardList to @luke/ui, a swatch to Badge, loading and failed states to AttachmentChip, and a SMALL size to Spinner (and a sized SpinnerRing), each with its tests and catalog example. Move the desktop's banner, settings one-line, update progress bar, GitHub label pills, call picture chips, settings spinner override and task-card rows onto them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
charleslpan
enabled auto-merge
October 18, 2026 14:44
…shared-bits-callers-ha # Conflicts: # apps/desktop/src/renderer/styles/tasks.css # packages/ui/src/styles.css
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…shared-bits-callers-ha # Conflicts: # apps/desktop/src/renderer/styles/desktop.css
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # apps/desktop/src/renderer/settings/workspace-page.tsx # packages/ui/src/index.ts
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 18, 2026
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # apps/desktop/src/renderer/styles/desktop.css # apps/desktop/src/renderer/tasks/agent-pictures.tsx # apps/desktop/src/renderer/tasks/continue-agent.tsx # packages/ui/src/styles.css
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # packages/ui/src/index.ts # packages/ui/src/styles.css
…shared-bits-callers-ha # Conflicts: # apps/desktop/src/renderer/settings/updates.tsx # apps/desktop/src/renderer/settings/workspace-page.tsx # apps/desktop/src/renderer/tasks/skill-ref.tsx
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # apps/desktop/src/renderer/desktop/task-actions.test.ts # apps/desktop/src/renderer/desktop/task-card.tsx # packages/ui/src/index.ts
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # packages/ui/src/index.ts # packages/ui/src/styles.css
…shared-bits-callers-ha # Conflicts: # apps/catalog/src/examples.ts # packages/ui/src/index.ts # packages/ui/src/styles.css
This branch was successfully deployed
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.
Phase 2, S20: the small shared bits callers hand-roll, added to
@luke/ui, and their hand-rolled copies moved onto them.Added to
@luke/uiBadgeswatch: a provider's colour (a GitHub label's) as a dot before the words. Badge validates it: six hex digits, with or without#; any other value draws the dot in the subtle ink.AttachmentChipstate(ATTACHMENT_CHIP_STATE.READY | LOADING | FAILED) andfailure:failurewords anddetailwhere given.SPINNER_SIZE.SMALL(12px).SpinnerRingtakes an optionalsizefor a decorative ring beside words that already say the wait.Progress: a thin bar in the working ink.label, it's aprogressbarnamed by that label, its value clamped to 0–100.label, it's hidden from readers because the words beside it already give the number.HoverCardRow(HOVER_CARD_ROW_LOOK.DETAIL | LINE) andHoverCardList:onPress, text otherwise. It has a glyph slot, words on one line, and a muted end.uland counts what it leaves out (more).OneLine(ONE_LINE_END.ELLIPSIS | FADE,ONE_LINE_ELEMENT,hint): words held to one line.hintgets the line and whether it is cut short; the desktop passes itsTooltip.Banner(BANNER_LOOK.STRIP | CARD | ROW,BANNER_TONE.NEUTRAL | ATTENTION): glyph, words, actions.Callers moved
desktop/banner.tsxis deleted. The archived-plan card, the plan-template note, the stranded-repository strip and the archived/continued composer notes now useBanner.settings/one-line.tsxis deleted. Account and Workspace addresses useOneLinewith the desktop's newwholeWordsHint(intooltip.tsx).pull-request-card-notes.tsx) areBadges with aswatch; the "+N" overflow is a plainBadge.agent-pictures.tsx) areAttachmentChips with loading/failed states. The legacy.attached-file*and.call-picture*chip CSS is deleted.settings.css) is nowSpinnerRing size=SMALL. The dead.luke-spinner-ringhalf of.failure-note-remedy's override (desktop.css) is dropped.updates.tsx) isProgress.task-card.tsx, plussidebar-pinned-tab.tsxandskill-ref.tsx, which drew the same rows) areHoverCardRow/HoverCardList.CardDetailand the.task-card-detail/-label/-rows/-more/-cornerCSS are gone.Visible changes (cleanup-level)
Badge(tinted capsule, 12px caption type) with an 8px dot.title(the picture's name), as the composer's file chips already do, rather than a pill reading "name: Not kept, size"; the chip's words still say both. A picture still being read shows the same ring, now said as "Reading ".img(a repository's owner picture, 14px) only. The GitHub provider-mark fallback draws at 16px.Screenshots (catalog, Linux headless Chrome)
Not verified
--fixture smokecapture renders none of these surfaces (archived plans, stranded repositories, PR label cards, call pictures, update progress), so the evidence is the catalog.pnpm check:affectedpasses.Left for other rows
agent-published.tsx,transcript-blocks.tsx,searchable-menu.tsx,call-card.tsx,page-pane.tsx) belong to their screen migrations.server-card.tsx) keeps the.task-card-linerule because it is an MCP row with its own layout (D79)..failure-note-remedyraw buttons belong to the button rows.🤖 Generated with Claude Code