From 34175988a5b2c0c6b66d8375109dba95c4a07990 Mon Sep 17 00:00:00 2001 From: callebtc <93376500+callebtc@users.noreply.github.com> Date: Mon, 27 Jul 2026 13:49:18 +0200 Subject: [PATCH] icons --- .../main/assets/design-icons/star-filled.svg | 3 +++ .../java/com/bitchat/android/ui/ChatHeader.kt | 17 ++++++++--------- .../com/bitchat/android/ui/MeshPeerListSheet.kt | 12 ++++++++++-- .../main/res/drawable/ic_spec_star_filled.xml | 8 ++++++++ 4 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 app/src/main/assets/design-icons/star-filled.svg create mode 100644 app/src/main/res/drawable/ic_spec_star_filled.xml diff --git a/app/src/main/assets/design-icons/star-filled.svg b/app/src/main/assets/design-icons/star-filled.svg new file mode 100644 index 00000000..ebc21c4f --- /dev/null +++ b/app/src/main/assets/design-icons/star-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/java/com/bitchat/android/ui/ChatHeader.kt b/app/src/main/java/com/bitchat/android/ui/ChatHeader.kt index 50cd5ab4..f1b2fbe2 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatHeader.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatHeader.kt @@ -58,13 +58,12 @@ import com.bitchat.android.ui.theme.LocalBitchatPalette val ChatHeaderHeight = 52.dp /** - * The single icon size used by every glyph in the top bar. + * The single visible glyph size used by every icon in the top bar. * - * Previously the bar mixed 12/14/16/18.dp icons, which is why it read as a collection of - * unrelated glyphs rather than one control strip. One size for everything, and large enough to - * actually see. + * The Figma header pairs 16 px icons with compact labels. At our 17sp header scale, 19dp preserves + * that icon-to-cap-height relationship without affecting the surrounding 44dp touch targets. */ -internal val HeaderIconSize = 22.dp +internal val HeaderIconSize = 19.dp /** * Text size for the top bar's labels: nickname, channel name, peer count. @@ -392,7 +391,7 @@ fun PeerCounter( Row( verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(4.dp), + horizontalArrangement = Arrangement.spacedBy(6.dp), modifier = modifier .clip(HeaderClusterShape) .pressScaleClickable(onClick = onClick) @@ -400,8 +399,8 @@ fun PeerCounter( .padding(horizontal = 6.dp) ) { Icon( - // A single silhouette rather than a crowd: at 22.dp a multi-person glyph collapses - // into an indistinct blob, and the number beside it already conveys "how many". + // The extracted people glyph stays legible at the compact header scale; the number + // beside it carries the precise count. painter = painterResource(R.drawable.ic_spec_people), contentDescription = when (selectedLocationChannel) { is com.bitchat.android.geohash.ChannelID.Location -> stringResource(R.string.cd_geohash_participants) @@ -696,7 +695,7 @@ private fun LocationChannelsButton( Row( verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(4.dp), + horizontalArrangement = Arrangement.spacedBy(6.dp), modifier = Modifier .clip(HeaderClusterShape) .pressScaleClickable( diff --git a/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt b/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt index a09ff487..9e1639b0 100644 --- a/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt +++ b/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt @@ -691,7 +691,9 @@ private fun PeerItem( contentAlignment = Alignment.Center ) { Icon( - painter = painterResource(R.drawable.ic_spec_star), + painter = painterResource( + if (isFavorite) R.drawable.ic_spec_star_filled else R.drawable.ic_spec_star + ), contentDescription = if (isFavorite) "Remove from favorites" else "Add to favorites", modifier = Modifier.size(PeerRowIconSize), tint = if (isFavorite) palette.accentOrange else palette.textTertiary @@ -1040,7 +1042,13 @@ fun PrivateChatSheet( modifier = Modifier.size(28.dp) ) { Icon( - painter = painterResource(R.drawable.ic_spec_star), + painter = painterResource( + if (isFavorite) { + R.drawable.ic_spec_star_filled + } else { + R.drawable.ic_spec_star + } + ), contentDescription = if (isFavorite) stringResource(R.string.cd_remove_favorite) else stringResource(R.string.cd_add_favorite), modifier = Modifier.size(16.dp), tint = if (isFavorite) Color(0xFFFFD700) else colorScheme.onSurface.copy(alpha = 0.6f) diff --git a/app/src/main/res/drawable/ic_spec_star_filled.xml b/app/src/main/res/drawable/ic_spec_star_filled.xml new file mode 100644 index 00000000..d29d62d7 --- /dev/null +++ b/app/src/main/res/drawable/ic_spec_star_filled.xml @@ -0,0 +1,8 @@ + + + + +