From 8cb0e0808c91cc06925fe2f5b1f98a77b28391a7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 29 Jun 2023 11:23:33 +0200 Subject: [PATCH] Improve API of UnreadIndicatorAtom --- .../features/invitelist/impl/components/InviteSummaryRow.kt | 6 +----- .../android/features/roomlist/impl/InvitesEntryPointView.kt | 1 - .../features/roomlist/impl/components/RoomSummaryRow.kt | 5 +---- .../designsystem/atomic/atoms/UnreadIndicatorAtom.kt | 3 ++- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt index 118d4cc220..bb010e551a 100644 --- a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt +++ b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt @@ -32,7 +32,6 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString @@ -56,8 +55,6 @@ import io.element.android.libraries.designsystem.theme.components.Button import io.element.android.libraries.designsystem.theme.components.OutlinedButton import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.noFontPadding -import io.element.android.libraries.designsystem.theme.unreadIndicator -import io.element.android.libraries.theme.ElementTheme import io.element.android.libraries.ui.strings.CommonStrings private val minHeight = 72.dp @@ -161,8 +158,7 @@ internal fun DefaultInviteSummaryRow( } } - val unreadIndicatorColor = if (invite.isNew) ElementTheme.colors.unreadIndicator else Color.Transparent - UnreadIndicatorAtom(color = unreadIndicatorColor) + UnreadIndicatorAtom(isVisible = invite.isNew) } } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesEntryPointView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesEntryPointView.kt index efaa7f7fdc..cb437da20b 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesEntryPointView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesEntryPointView.kt @@ -66,7 +66,6 @@ fun InvitesEntryPointView( if (state == InvitesState.NewInvites) { Spacer(Modifier.width(8.dp)) - UnreadIndicatorAtom() } } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt index 7404f10cfe..b32f169e6b 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt @@ -35,7 +35,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Rect import androidx.compose.ui.geometry.Size -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Outline import androidx.compose.ui.graphics.Path import androidx.compose.ui.graphics.Shape @@ -170,11 +169,9 @@ private fun RowScope.LastMessageAndIndicatorRow(room: RoomListRoomSummary) { overflow = TextOverflow.Ellipsis ) // Unread - val unreadIndicatorColor = - if (room.hasUnread) ElementTheme.colors.unreadIndicator else Color.Transparent UnreadIndicatorAtom( modifier = Modifier.padding(top = 3.dp), - color = unreadIndicatorColor, + isVisible = room.hasUnread, ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/UnreadIndicatorAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/UnreadIndicatorAtom.kt index 3170f886c5..3d4019e564 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/UnreadIndicatorAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/UnreadIndicatorAtom.kt @@ -37,12 +37,13 @@ fun UnreadIndicatorAtom( modifier: Modifier = Modifier, size: Dp = 12.dp, color: Color = ElementTheme.colors.unreadIndicator, + isVisible: Boolean = true, ) { Box( modifier = modifier .size(size) .clip(CircleShape) - .background(color) + .background(if (isVisible) color else Color.Transparent) ) }