Skip to content

fix(profile): put the status chips on the cover beside the avatar - #1009

Merged
bmc08gt merged 1 commit into
mainfrom
fix/profile-status-chips-on-cover
Oct 7, 2026
Merged

bmc08gt merged 1 commit into
mainfrom
fix/profile-status-chips-on-cover

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Moves the profile status chips from the action row onto the cover photo, on both the group profile and another person's profile. This matches code-payments/code-android-app#1703 (fix(groups): put the muted chip on the cover beside the avatar and the follow-up for user profiles).

A timed mute ("Muted until 12:15 PM") in the action row leaves too little width for Edit Group and Share; on Android the same layout wrapped Edit Group onto two lines and pushed Share off screen. Putting the chip under the title was ruled out because the mute state arrives after first render and would shift the header. The cover is a fixed height, so nothing placed on it moves the rest of the header.

  • ProfileHeaderView gains a coverAccessory slot on the cover's bottom edge: leading at inset + avatar width + 12, trailing at the inset, 8 above the bottom.
  • The group profile's action row now holds only Edit Group (when permitted) and Share.
  • On a person's profile, Blocked and the mute chip move together, Blocked first, 8 apart. Blocked keeps its width; the mute chip gives way.
  • A timed mute that doesn't fit falls back to plain "Muted" on one line (ViewThatFits).

Android also puts a 70% background backing under the chip, because its fill is the warning colour at 10% alpha and disappears over a photo. iOS fills with warningSecondary, which is opaque (Color(r: 48, g: 39, b: 29)), so a backing would draw nothing and is left out.

A timed mute ("Muted until 12:15 PM") in the action row leaves too little
width for Edit Group and Share; on Android the same layout wrapped Edit
Group onto two lines and pushed Share off screen. Below the title was
ruled out because the mute state arrives after first render and would
shift the header. The cover is a fixed height, so nothing placed on it
moves the rest of the header.

ProfileHeaderView gains a coverAccessory slot laid on the cover's bottom
edge: leading at inset + avatar + 12, trailing at the inset, 8 above the
bottom, matching Android. The group profile's mute chip and a person's
Blocked and mute chips move there, leaving the action row to Edit Group
and Share. A timed mute that doesn't fit falls back to "Muted".

Android also adds a 70% background backing under the chip because its
fill is warning at 10% alpha. iOS fills with warningSecondary, which is
opaque, so the backing would draw nothing and is left out.
@bmc08gt bmc08gt self-assigned this Oct 7, 2026
@bmc08gt
bmc08gt merged commit 26c5e96 into main Oct 7, 2026
3 checks passed
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