design: visual entity consistency across UI - #138
Open
Julia Shilova (juliashilovaa) wants to merge 1 commit into
Open
design: visual entity consistency across UI#138Julia Shilova (juliashilovaa) wants to merge 1 commit into
Julia Shilova (juliashilovaa) wants to merge 1 commit into
Conversation
Julia Shilova (juliashilovaa)
requested review from
Olga Lavrichenko (OLavrik),
danyaberezun and
Rinat S (rsolmano)
as code owners
July 27, 2026 14:34
| {...rest} | ||
| className={cn( | ||
| "relative flex h-[150px] w-[220px] flex-col items-start justify-between rounded-[var(--radius-lg)] border p-lg text-left transition-colors", | ||
| // gap-md without justify-between: the text block is top-anchored after the icon, so titles |
There was a problem hiding this comment.
Blocking: Problem: This pass establishes new canonical project, card, and status presentations, but panels/SPEC.md still requires the old project eyebrow and bottom-anchored card layout.
Failure scenario: A contributor following the repository's source of truth can restore the old treatments or extend the wrong pattern, leaving the design system internally contradictory.
Suggested fix: Update panels/SPEC.md to specify the new project row, chipless top-anchored cards, workspace status/metadata tiers, and rail placeholder before merging.
…tatus/metadata, rail placeholder One presentation per entity/status role across the product: - welcome context row = the project entity's page variant: one colour (icon included), proportional name (mono removed from identity text) - welcome cards: chipless icons on the card surface, top-anchored text block so titles share a start line, titles in the exact dialog-title style, subtitles as muted supporting text; spec-first tag as a standard technical-badge pill - 'Workspace ready' = a neutral status label (sentence case secondary text, eyebrow styling removed); workspace name = a plain 400 screen heading; branch row = text-xs text-hint metadata end to end (branch is metadata, never an entity name) - rail 'No workspaces yet' joins the status-label tier (text-sm text-muted) Depends on the typography PR for the text-base / text-md / text-mono tiers (builds green standalone; those utilities resolve fully once the typography PR merges).
Julia Shilova (juliashilovaa)
force-pushed
the
design/entity-consistency
branch
from
July 28, 2026 10:12
b1768ed to
a74f397
Compare
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.
Part 3 of 3 of the visual design system work. Entity/status presentation consistency only — one canonical rendering per entity role across the product. Based on current
main.Depends on the Typography PR for the
text-base/text-monotiers and the 14pxtext-md: this branch builds and passes e2e standalone, but those utilities only resolve to their intended values once the typography PR merges — merge that one first.Changes & why they're consistency work
panels/WelcomePanel.tsxtext-muted), proportional name — mono removed from identity textgap-md, nojustify-between) so titles share the same start line regardless of subtitle length; titles reuse the exact dialog-title style (font-semibold text-md leading-none) so card titles andDialogTitlecan't drift; subtitles = muted supporting text; "spec-first" tag = the standard technical-badge pillpanels/CenterTabs.tsx(empty workspace state)text-xs text-hintmetadata end to end — a branch is metadata, never an entity name (matches the header scope block)panels/ProjectTree.tsx— "No workspaces yet" joins the status-label tier (text-sm text-muted; deliberate exception to the panels'text-xs text-hintempty-state tier)Excluded
No token/utility changes (typography PR), no palette/border/surface changes (colour PR), no behaviour — all
data-testidhooks unchanged.