diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt index a9ca00776c..98a7363abb 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt @@ -8,6 +8,7 @@ package io.element.android.features.space.impl.root import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState import io.element.android.features.invite.api.acceptdecline.anAcceptDeclineInviteState import io.element.android.libraries.architecture.AsyncAction @@ -25,60 +26,30 @@ open class SpaceStateProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aSpaceState(), + aSpaceState(parentSpace = aParentSpace(joinRule = JoinRule.Public)), + aSpaceState(parentSpace = aParentSpace(joinRule = JoinRule.Restricted(persistentListOf()))), + aSpaceState(children = aListOfSpaceRooms()), aSpaceState( - parentSpace = aSpaceRoom( - joinRule = JoinRule.Public - ) - ), - aSpaceState( - parentSpace = aSpaceRoom( - joinRule = JoinRule.Restricted(persistentListOf()) - ) - ), - aSpaceState( - parentSpace = aSpaceRoom( - numJoinedMembers = 5, - childrenCount = 10, - worldReadable = true, - ), - hasMoreToLoad = true, - ), - aSpaceState( - hasMoreToLoad = true, - children = aListOfSpaceRooms(), - ), - aSpaceState( - hasMoreToLoad = false, + parentSpace = aParentSpace(), children = aListOfSpaceRooms(), joiningRooms = setOf(RoomId("!spaceId0:example.com")), + hasMoreToLoad = false ), aSpaceState( - hasMoreToLoad = false, - topicViewerState = TopicViewerState.Shown( - topic = "Description of the space goes right here. Lorem ipsum dolor sit amet consectetur. " + - "Leo viverra morbi habitant in. Sem amet enim habitant nibh augue mauris. " + - "Interdum mauris ultrices tincidunt proin morbi erat aenean risus nibh. " + - "Diam amet sit fermentum vulputate faucibus." - ), - children = aListOfSpaceRooms(), + topicViewerState = TopicViewerState.Shown(topic = "Space description goes here." + LoremIpsum(20).values.first()), ), // Add other states here ) } fun aSpaceState( - parentSpace: SpaceRoom? = aSpaceRoom( - numJoinedMembers = 5, - childrenCount = 10, - worldReadable = true, - roomId = RoomId("!spaceId0:example.com"), - ), + parentSpace: SpaceRoom? = aParentSpace(), children: List = emptyList(), seenSpaceInvites: Set = emptySet(), joiningRooms: Set = emptySet(), joinActions: Map> = joiningRooms.associateWith { AsyncAction.Loading }, hideInvitesAvatar: Boolean = false, - hasMoreToLoad: Boolean = false, + hasMoreToLoad: Boolean = true, acceptDeclineInviteState: AcceptDeclineInviteState = anAcceptDeclineInviteState(), topicViewerState: TopicViewerState = TopicViewerState.Hidden, eventSink: (SpaceEvents) -> Unit = { }, @@ -94,6 +65,19 @@ fun aSpaceState( eventSink = eventSink, ) +private fun aParentSpace( + joinRule: JoinRule? = null, +): SpaceRoom { + return aSpaceRoom( + numJoinedMembers = 5, + childrenCount = 10, + worldReadable = true, + joinRule = joinRule, + roomId = RoomId("!spaceId0:example.com"), + topic = "Space description goes here. " + LoremIpsum(20).values.first(), + ) +} + private fun aListOfSpaceRooms(): List { return listOf( aSpaceRoom(