Skip to content

design: visual entity consistency across UI - #138

Open
Julia Shilova (juliashilovaa) wants to merge 1 commit into
mainfrom
design/entity-consistency
Open

design: visual entity consistency across UI#138
Julia Shilova (juliashilovaa) wants to merge 1 commit into
mainfrom
design/entity-consistency

Conversation

@juliashilovaa

Copy link
Copy Markdown
Collaborator

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-mono tiers and the 14px text-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.tsx
    • Context row = the project entity's page variant: one colour for icon + name (text-muted), proportional name — mono removed from identity text
    • Cards: chipless icons directly on the card surface; text block top-anchored (gap-md, no justify-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 and DialogTitle can't drift; subtitles = muted supporting text; "spec-first" tag = the standard technical-badge pill
  • panels/CenterTabs.tsx (empty workspace state)
    • "Workspace ready" = a neutral status label (sentence-case secondary text) instead of an eyebrow
    • Workspace name = a plain 400 entity screen heading
    • Branch row = text-xs text-hint metadata 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-hint empty-state tier)

Excluded

No token/utility changes (typography PR), no palette/border/surface changes (colour PR), no behaviour — all data-testid hooks unchanged.

@jetbrains-air jetbrains-air Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks—please address the blocking inline finding before merge.

{...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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

@jetbrains-air jetbrains-air Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes — please address the blocking inline finding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant