Channel badges: flat Material star (default) + heart (favorite) icons instead of text glyphs, so favorites no longer look like the default channel

This commit is contained in:
ARIA committed 2026-08-20 21:07:52 +02:00
1 parent d16b47abdf
commit a8920d8d26
1 file changed
+32 -2
@@ -42,7 +42,9 @@ import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material.icons.filled.KeyboardArrowDown
import androidx.compose.material.icons.filled.Star
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
import androidx.compose.material3.CircularProgressIndicator
@@ -1080,6 +1082,32 @@ private fun IconImage(base64: String, size: Dp) {
}
}
/**
* Trailing badges for a channel row: a star marks the default (home) channel,
* a heart marks a favorited channel. A channel that is both shows both.
*/
@Composable
private fun ChannelBadges(ch: ChannelInfo) {
if (ch.isDefault) {
Spacer(modifier = Modifier.width(4.dp))
Icon(
imageVector = Icons.Filled.Star,
contentDescription = "Default channel",
modifier = Modifier.size(14.dp),
tint = IrisColors.textMuted,
)
}
if (ch.favorite) {
Spacer(modifier = Modifier.width(4.dp))
Icon(
imageVector = Icons.Filled.Favorite,
contentDescription = "Favorited",
modifier = Modifier.size(14.dp),
tint = IrisColors.textMuted,
)
}
}
/**
* Long-press / right-click context menu for a channel row: rename, favorite
* (state-aware), icon (state-aware), delete. The default channel cannot be
@@ -1234,12 +1262,13 @@ private fun ChannelDrawer(
ChannelAvatar(ch, 28.dp)
Spacer(modifier = Modifier.width(8.dp))
Text(
ch.name + if (ch.isDefault || ch.favorite) " ★" else "",
ch.name,
fontSize = 14.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f),
)
ChannelBadges(ch)
}
ChannelContextMenu(
expanded = menuOpen,
@@ -1353,13 +1382,14 @@ private fun ChannelRail(
ChannelAvatar(ch, 28.dp)
Spacer(modifier = Modifier.width(8.dp))
Text(
ch.name + if (ch.isDefault || ch.favorite) " ★" else "",
ch.name,
fontSize = 14.sp,
color = if (isCurrent) IrisColors.primary else IrisColors.onSurface,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f),
)
ChannelBadges(ch)
}
ChannelContextMenu(
expanded = menuOpen,