feat(fuselage): quieter message header metadata - #2138
juliajforesti merged 5 commits into
Conversation
🦋 Changeset detectedLatest commit: 374e583 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
@juliajforesti 🆘 not 100% sure about my reviews |
juliajforesti
left a comment
There was a problem hiding this comment.
keep comments brief, and only when strictly necessary - it should not be a history of a debate
Timestamps rest on the secondary-info color and step back up to font-default when the message is hovered, so the quieter treatment never fails AA contrast against the hover surface. The size stays on the c1 scale the ramp already provides.
Author names use the titles-labels color — declared on the container too, because CSS paints text-decoration with the color of the box that declares it, and system messages share the container with a different name child. When the name is actionable ([role='button']) it shows a pointer cursor and underlines on hover.
Stories for the hovered clickable author name on regular and system messages, plus the DOM snapshot the story composition adds.
588833b to
6fa57fc
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
|
@Mergifyio queue |
|
|
|
@Mergifyio queue |
|
Brings in the quieter message header metadata styles (RocketChat/fuselage#2138) so the local overrides can go.
The author name emphasis (titles-labels + pointer/underline under role=button) and the quieter timestamp with its hover contrast step-up live in the design system since fuselage 0.86 (RocketChat/fuselage#2138), so the local css blocks, the Box wrappers applying them and the inline cursor go away.
Summary
Task
Part of the user information redesign in RocketChat/Rocket.Chat#41650 (Figma spec), where these styles are currently applied as
.rcx-*overrides inside the app — this PR moves them into the design system so the app can drop the overrides and consume them from fuselage.rcx-message-header__name,rcx-message-system__nameand their shared name container) use thetitles-labelsfont color token. When the name container acts as a button ([role='button']) it shows a pointer cursor and underlines on hover — in the app it is the hover/click trigger for the user card and full profile. Non-interactive name containers are unaffected.rcx-message-header__time,rcx-message-system__time) are quieter through color alone: they stay on thec1scale they already declared and use thesecondary-infofont color token. No explicit font sizes — the type ramp has no 10px regular step (microis bold), so the size stays on the scale and the color does the work.secondary-infomeets WCAG AA on the room surface (4.80:1) but not on the hover surface (4.33:1), so the regular-message timestamp steps up to thedefaulttoken while the message is hovered (11.26:1). System messages don't change surface on hover, so no rule is needed there.Impact
This intentionally changes the header metadata of every
Message/MessageSystemconsumer — it is the design-system side of the approved redesign, and the app PR above stops overriding these styles once this ships.Screenshots
Message header — before / after (timestamp in
secondary-info; name usestitles-labels):Hover underline on a clickable author name (new
WithClickableAuthorNamestory):Testing
WithClickableAuthorNamestory added — hover the author name to see the pointer cursor and underline (only whenrole='button'is set).🤖 Generated with Claude Code