From 86a839ea73b22d82d4232d0f4b82602c31c2c741 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Oct 2024 18:15:36 +0200 Subject: [PATCH] Move RoomBadge to atomic package and rename to MatrixBadge --- .../roomdetails/impl/RoomDetailsView.kt | 14 +++--- .../atomic/atoms/MatrixBadgeAtom.kt | 49 +++++++++---------- .../tests/konsist/KonsistPreviewTest.kt | 6 +-- 3 files changed, 32 insertions(+), 37 deletions(-) rename features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt => libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt (75%) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index b3b017f0e3..6af32facf4 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -41,10 +41,10 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.leaveroom.api.LeaveRoomView -import io.element.android.features.roomdetails.impl.components.RoomBadge import io.element.android.features.userprofile.shared.blockuser.BlockUserDialogs import io.element.android.features.userprofile.shared.blockuser.BlockUserSection import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage +import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom import io.element.android.libraries.designsystem.components.ClickableLinkText import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize @@ -412,23 +412,23 @@ private fun BadgeList( horizontalArrangement = Arrangement.spacedBy(8.dp), ) { if (isEncrypted) { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_encrypted), icon = CompoundIcons.LockSolid(), - type = RoomBadge.Type.Positive, + type = MatrixBadgeAtom.Type.Positive, ) } else { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_not_encrypted), icon = CompoundIcons.LockOff(), - type = RoomBadge.Type.Neutral, + type = MatrixBadgeAtom.Type.Neutral, ) } if (isPublic) { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_public), icon = CompoundIcons.Public(), - type = RoomBadge.Type.Neutral, + type = MatrixBadgeAtom.Type.Neutral, ) } } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt similarity index 75% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt index 84abe2addf..2e2b4b07fb 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.roomdetails.impl.components +package io.element.android.libraries.designsystem.atomic.atoms import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.vector.ImageVector @@ -21,14 +21,15 @@ import io.element.android.libraries.designsystem.theme.badgeNeutralContentColor import io.element.android.libraries.designsystem.theme.badgePositiveBackgroundColor import io.element.android.libraries.designsystem.theme.badgePositiveContentColor -object RoomBadge { +object MatrixBadgeAtom { enum class Type { Positive, Neutral, Negative } - @Composable fun View( + @Composable + fun View( text: String, icon: ImageVector, type: Type, @@ -60,36 +61,30 @@ object RoomBadge { @PreviewsDayNight @Composable -internal fun RoomBadgePositivePreview() { - ElementPreview { - RoomBadge.View( - text = "Trusted", - icon = CompoundIcons.Verified(), - type = RoomBadge.Type.Positive, - ) - } +internal fun MatrixBadgeAtomPositivePreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Trusted", + icon = CompoundIcons.Verified(), + type = MatrixBadgeAtom.Type.Positive, + ) } @PreviewsDayNight @Composable -internal fun RoomBadgeNeutralPreview() { - ElementPreview { - RoomBadge.View( - text = "Public room", - icon = CompoundIcons.Public(), - type = RoomBadge.Type.Neutral, - ) - } +internal fun MatrixBadgeAtomNeutralPreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Public room", + icon = CompoundIcons.Public(), + type = MatrixBadgeAtom.Type.Neutral, + ) } @PreviewsDayNight @Composable -internal fun RoomBadgeNegativePreview() { - ElementPreview { - RoomBadge.View( - text = "Not trusted", - icon = CompoundIcons.Error(), - type = RoomBadge.Type.Negative, - ) - } +internal fun MatrixBadgeAtomNegativePreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Not trusted", + icon = CompoundIcons.Error(), + type = MatrixBadgeAtom.Type.Negative, + ) } diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt index 9db116ebc5..6a72fa3cd9 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt @@ -71,6 +71,9 @@ class KonsistPreviewTest { "IconsCompoundPreview", "IconsOtherPreview", "MarkdownTextComposerEditPreview", + "MatrixBadgeAtomPositivePreview", + "MatrixBadgeAtomNeutralPreview", + "MatrixBadgeAtomNegativePreview", "MentionSpanPreview", "MessageComposerViewVoicePreview", "MessagesReactionButtonAddPreview", @@ -95,9 +98,6 @@ class KonsistPreviewTest { "PollContentViewEndedPreview", "PollContentViewUndisclosedPreview", "ReadReceiptBottomSheetPreview", - "RoomBadgePositivePreview", - "RoomBadgeNeutralPreview", - "RoomBadgeNegativePreview", "RoomMemberListViewBannedPreview", "SasEmojisPreview", "SecureBackupSetupViewChangePreview",