Repository navigation
feat(profile): other-user profile with overflow menu and pinned chat action - #987
Merged
Merged
Conversation
This was referenced Oct 6, 2026
bmc08gt
force-pushed
the
feat/profile-refresh-own-profile
branch
from
October 6, 2026 20:00
b657c1f to
8deb958
Compare
Push the new chat when the DM record lands before the start-chatting sheet dismisses, and only when the profile is still in front. Open Chat from a DM returns to it instead of pushing a copy. Unmute from the menu reports errors and analytics like the mute sheet, Start Chatting runs the give-cash gate in both branches, and the toolbar buttons get accessibility labels.
The profile screens had the right controls in a centred, inset-card layout that didn't follow the design. Follow nodes 10961:314 and 10990:494 instead: a full-bleed 214pt banner (flat #323234 when there is no cover), a left-aligned 84pt avatar overlapping it, Edit Profile and Share in the avatar row, left-aligned name, handle and bio, and a two-column stats card with labels above values. Share opens a sheet with Share Profile, Show Profile Card and Copy Link in place of the menu. The other-user profile draws its back and overflow buttons over the banner with no navigation bar, and the pinned button is white over a fade. The Finish Your Profile card and the card-colour cover fallback are gone, with their tests.
Move the You tab's gear and the other-user profile's back and overflow controls into the navigation bar, so the app-wide soft scroll edge draws the top fade. Drop the "You" title, the cover's dark overlay and the pinned button's gradient; the pinned button now sits in a scroll edge bar. Replace Mute/Unmute in the overflow menu with one "Mute Notifications" entry that opens MuteChatSheet, whose "Never" option unmutes. Top-align the stats card labels, and left-align the share sheet's "Share User Profile" title with a shorter detent.
The profile screens matched Figma pixel values: ten font sizes, four RGB colours and one-off radii and paddings that no other screen uses. Swap them for the app* font tokens, the textMain/textSecondary/backgroundRow colours, glass buttons, and the PartialSheet + ChatActionRow sheet that Mute Notifications already uses.
… the bar At rest the iOS 26 soft edge only darkened the cover banner and left a hard band where it stopped.
Under the handle they took the bio's spot. The action row's height comes from the share button, so a badge appearing on mute or block no longer moves the content below it. The stats card uses Metrics.boxRadius like the app's other cards.
Share and Edit Profile now match the design (node 10961:323, 10961:335): 38pt tall, a 22pt share glyph, 18pt side padding on Edit Profile, and a flat fill at 10% of the action colour. Over the #19191A background that is the design's #303031. On glass the circle rendered at 34pt and the capsule at 31pt.
appTextBody is Avenir Regular, a weight nothing else in the app uses, so the bio read as a different typeface next to the header. Use appTextMessage, the Medium weight chat bubbles use.
The profile hides the tab bar, so the toast host drew 12pt above the bottom edge, over the pinned button. A screen can now mark a bottom bar with toastClearance(_:); the host measures it and keeps the toast above it while it is on screen.
The entrance moved the toast by its own padded height, so a toast raised over the profile's pinned button travelled up from the screen edge past the button. It now rises the 56pt a toast 12pt off the edge always did.
bmc08gt
force-pushed
the
feat/profile-refresh-other-profile
branch
from
October 6, 2026 20:12
c84475e to
16bc0a4
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.
Stacked on #986.
Adds the profile you see for someone else (Figma node 10990:494). The pinned button reads "Send $X to Start Chatting" before a DM exists, "Open Chat" once it does, and "Unblock" if you've blocked them. The ⋯ menu has Mute Notifications (the existing
MuteChatSheet), Report, and Block/Unblock. Blocked and Muted badges sit in the action row next to Share, so toggling either doesn't move the header.Also in here, shared with the You tab:
appTextMessage.appTextBodyis Avenir Regular, which reads as a different typeface next to the Medium and Demi weights everywhere else.toastClearance(_:), and without a tab bar the toast rises a fixed 56pt instead of sliding up from the screen edge.