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 @@
+
+
+
+
+