Skip to content

Commit 8b2cdfd

Browse files
committed
feature(space): better previews for Space screen
1 parent 916a460 commit 8b2cdfd

File tree

1 file changed

+22
-38
lines changed

1 file changed

+22
-38
lines changed

features/space/impl/src/main/kotlin/io/element/android/features/space/impl/root/SpaceStateProvider.kt

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package io.element.android.features.space.impl.root
99

1010
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
11+
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
1112
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState
1213
import io.element.android.features.invite.api.acceptdecline.anAcceptDeclineInviteState
1314
import io.element.android.libraries.architecture.AsyncAction
@@ -25,60 +26,30 @@ open class SpaceStateProvider : PreviewParameterProvider<SpaceState> {
2526
override val values: Sequence<SpaceState>
2627
get() = sequenceOf(
2728
aSpaceState(),
29+
aSpaceState(parentSpace = aParentSpace(joinRule = JoinRule.Public)),
30+
aSpaceState(parentSpace = aParentSpace(joinRule = JoinRule.Restricted(persistentListOf()))),
31+
aSpaceState(children = aListOfSpaceRooms()),
2832
aSpaceState(
29-
parentSpace = aSpaceRoom(
30-
joinRule = JoinRule.Public
31-
)
32-
),
33-
aSpaceState(
34-
parentSpace = aSpaceRoom(
35-
joinRule = JoinRule.Restricted(persistentListOf())
36-
)
37-
),
38-
aSpaceState(
39-
parentSpace = aSpaceRoom(
40-
numJoinedMembers = 5,
41-
childrenCount = 10,
42-
worldReadable = true,
43-
),
44-
hasMoreToLoad = true,
45-
),
46-
aSpaceState(
47-
hasMoreToLoad = true,
48-
children = aListOfSpaceRooms(),
49-
),
50-
aSpaceState(
51-
hasMoreToLoad = false,
33+
parentSpace = aParentSpace(),
5234
children = aListOfSpaceRooms(),
5335
joiningRooms = setOf(RoomId("!spaceId0:example.com")),
36+
hasMoreToLoad = false
5437
),
5538
aSpaceState(
56-
hasMoreToLoad = false,
57-
topicViewerState = TopicViewerState.Shown(
58-
topic = "Description of the space goes right here. Lorem ipsum dolor sit amet consectetur. " +
59-
"Leo viverra morbi habitant in. Sem amet enim habitant nibh augue mauris. " +
60-
"Interdum mauris ultrices tincidunt proin morbi erat aenean risus nibh. " +
61-
"Diam amet sit fermentum vulputate faucibus."
62-
),
63-
children = aListOfSpaceRooms(),
39+
topicViewerState = TopicViewerState.Shown(topic = "Space description goes here." + LoremIpsum(20).values.first()),
6440
),
6541
// Add other states here
6642
)
6743
}
6844

6945
fun aSpaceState(
70-
parentSpace: SpaceRoom? = aSpaceRoom(
71-
numJoinedMembers = 5,
72-
childrenCount = 10,
73-
worldReadable = true,
74-
roomId = RoomId("!spaceId0:example.com"),
75-
),
46+
parentSpace: SpaceRoom? = aParentSpace(),
7647
children: List<SpaceRoom> = emptyList(),
7748
seenSpaceInvites: Set<RoomId> = emptySet(),
7849
joiningRooms: Set<RoomId> = emptySet(),
7950
joinActions: Map<RoomId, AsyncAction<Unit>> = joiningRooms.associateWith { AsyncAction.Loading },
8051
hideInvitesAvatar: Boolean = false,
81-
hasMoreToLoad: Boolean = false,
52+
hasMoreToLoad: Boolean = true,
8253
acceptDeclineInviteState: AcceptDeclineInviteState = anAcceptDeclineInviteState(),
8354
topicViewerState: TopicViewerState = TopicViewerState.Hidden,
8455
eventSink: (SpaceEvents) -> Unit = { },
@@ -94,6 +65,19 @@ fun aSpaceState(
9465
eventSink = eventSink,
9566
)
9667

68+
private fun aParentSpace(
69+
joinRule: JoinRule? = null,
70+
): SpaceRoom {
71+
return aSpaceRoom(
72+
numJoinedMembers = 5,
73+
childrenCount = 10,
74+
worldReadable = true,
75+
joinRule = joinRule,
76+
roomId = RoomId("!spaceId0:example.com"),
77+
topic = "Space description goes here. " + LoremIpsum(20).values.first(),
78+
)
79+
}
80+
9781
private fun aListOfSpaceRooms(): List<SpaceRoom> {
9882
return listOf(
9983
aSpaceRoom(

0 commit comments

Comments
 (0)