From 3e2c75f8ddd0e2a3c4f3541ff77a860b31702a22 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Thu, 8 Oct 2026 18:09:53 -0400 Subject: [PATCH] fix(profile): draw the Scan glyph on the profile card tile The Show Profile Card tile used ic_qr_code; it now draws ic_nav_tipcard, the Scan tab's outline glyph, matching the iOS tile. The tile row also sat almost against the sheet's close button. AppBarWithTitle holds its height at 56dp and ignores the bottom of HeaderPadding, while the top 16dp shifts the close button down past the bar's measured edge, where the list starts. The row now has 28dp above it (iOS's 16 header bottom plus its 12 row inset) and keeps 12 below. --- .../messenger/internal/screens/GroupInviteSheet.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/GroupInviteSheet.kt b/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/GroupInviteSheet.kt index a428f74ab..432e90fe4 100644 --- a/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/GroupInviteSheet.kt +++ b/apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/screens/GroupInviteSheet.kt @@ -236,7 +236,8 @@ internal fun GroupInviteSheet( modifier = Modifier .fillMaxWidth() .height(IntrinsicSize.Min) - .padding(horizontal = ListInset, vertical = TileRowVertical), + .padding(horizontal = ListInset) + .padding(top = TileRowTop, bottom = TileRowBottom), horizontalArrangement = Arrangement.spacedBy(TileGap), ) { InviteLinkTile( @@ -284,7 +285,8 @@ internal fun GroupInviteSheet( if (onShowCard != null) { InviteLinkTile( modifier = Modifier.weight(1f).fillMaxHeight(), - icon = R.drawable.ic_qr_code, + // The Scan tab's outline glyph, as the iOS tile draws it. + icon = R.drawable.ic_nav_tipcard, label = stringResource(R.string.action_showProfileCard), onClick = onShowCard, ) @@ -544,7 +546,12 @@ private val ComposerFill = Color(0x751E1E1E) private val ComposerBlurRadius = 24.dp private val HeaderPadding = 16.dp private val HeaderRowVertical = 16.dp -private val TileRowVertical = 12.dp +// More above than below. AppBarWithTitle holds its height fixed and ignores HeaderPadding's bottom, +// while its top pushes the close button down past the bar's measured edge, which is where the list +// starts. iOS pads its header 16 on every side over the same 12 row inset; the extra 16 here stands +// in for that bottom padding. +private val TileRowTop = 28.dp +private val TileRowBottom = 12.dp private val TileGap = 10.dp private val TileMinHeight = 95.dp private val TileShape = RoundedCornerShape(6.dp)