|
|
@ -19,6 +19,7 @@ package io.element.android.features.roomdetails.impl.members |
|
|
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider |
|
|
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider |
|
|
|
import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState |
|
|
|
import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState |
|
|
|
import io.element.android.features.roomdetails.impl.members.moderation.aRoomMembersModerationState |
|
|
|
import io.element.android.features.roomdetails.impl.members.moderation.aRoomMembersModerationState |
|
|
|
|
|
|
|
import io.element.android.libraries.architecture.AsyncData |
|
|
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState |
|
|
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState |
|
|
|
import io.element.android.libraries.matrix.api.core.UserId |
|
|
|
import io.element.android.libraries.matrix.api.core.UserId |
|
|
|
import io.element.android.libraries.matrix.api.room.RoomMember |
|
|
|
import io.element.android.libraries.matrix.api.room.RoomMember |
|
|
@ -29,14 +30,15 @@ internal class RoomMemberListStateProvider : PreviewParameterProvider<RoomMember |
|
|
|
override val values: Sequence<RoomMemberListState> |
|
|
|
override val values: Sequence<RoomMemberListState> |
|
|
|
get() = sequenceOf( |
|
|
|
get() = sequenceOf( |
|
|
|
aRoomMemberListState( |
|
|
|
aRoomMemberListState( |
|
|
|
roomMembers = RoomMembers( |
|
|
|
roomMembers = AsyncData.Success( |
|
|
|
|
|
|
|
RoomMembers( |
|
|
|
invited = persistentListOf(aVictor(), aWalter()), |
|
|
|
invited = persistentListOf(aVictor(), aWalter()), |
|
|
|
joined = persistentListOf(anAlice(), aBob(), aWalter()), |
|
|
|
joined = persistentListOf(anAlice(), aBob(), aWalter()), |
|
|
|
banned = persistentListOf(), |
|
|
|
banned = persistentListOf(), |
|
|
|
isLoading = false, |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
), |
|
|
|
), |
|
|
|
aRoomMemberListState(roomMembers = RoomMembers.loading()), |
|
|
|
aRoomMemberListState(roomMembers = AsyncData.Loading()), |
|
|
|
aRoomMemberListState().copy(canInvite = true), |
|
|
|
aRoomMemberListState().copy(canInvite = true), |
|
|
|
aRoomMemberListState().copy(isSearchActive = false), |
|
|
|
aRoomMemberListState().copy(isSearchActive = false), |
|
|
|
aRoomMemberListState().copy(isSearchActive = true), |
|
|
|
aRoomMemberListState().copy(isSearchActive = true), |
|
|
@ -45,11 +47,12 @@ internal class RoomMemberListStateProvider : PreviewParameterProvider<RoomMember |
|
|
|
isSearchActive = true, |
|
|
|
isSearchActive = true, |
|
|
|
searchQuery = "@someone:matrix.org", |
|
|
|
searchQuery = "@someone:matrix.org", |
|
|
|
searchResults = SearchBarResultState.Results( |
|
|
|
searchResults = SearchBarResultState.Results( |
|
|
|
|
|
|
|
AsyncData.Success( |
|
|
|
RoomMembers( |
|
|
|
RoomMembers( |
|
|
|
invited = persistentListOf(aVictor()), |
|
|
|
invited = persistentListOf(aVictor()), |
|
|
|
joined = persistentListOf(anAlice()), |
|
|
|
joined = persistentListOf(anAlice()), |
|
|
|
banned = persistentListOf(), |
|
|
|
banned = persistentListOf(), |
|
|
|
isLoading = false, |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
@ -58,6 +61,9 @@ internal class RoomMemberListStateProvider : PreviewParameterProvider<RoomMember |
|
|
|
searchQuery = "something-with-no-results", |
|
|
|
searchQuery = "something-with-no-results", |
|
|
|
searchResults = SearchBarResultState.NoResultsFound() |
|
|
|
searchResults = SearchBarResultState.NoResultsFound() |
|
|
|
), |
|
|
|
), |
|
|
|
|
|
|
|
aRoomMemberListState( |
|
|
|
|
|
|
|
roomMembers = AsyncData.Failure(Exception("Error details")), |
|
|
|
|
|
|
|
), |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -65,7 +71,8 @@ internal class RoomMemberListStateBannedProvider : PreviewParameterProvider<Room |
|
|
|
override val values: Sequence<RoomMemberListState> |
|
|
|
override val values: Sequence<RoomMemberListState> |
|
|
|
get() = sequenceOf( |
|
|
|
get() = sequenceOf( |
|
|
|
aRoomMemberListState( |
|
|
|
aRoomMemberListState( |
|
|
|
roomMembers = RoomMembers( |
|
|
|
roomMembers = AsyncData.Success( |
|
|
|
|
|
|
|
RoomMembers( |
|
|
|
invited = persistentListOf(), |
|
|
|
invited = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
banned = persistentListOf( |
|
|
|
banned = persistentListOf( |
|
|
@ -73,12 +80,13 @@ internal class RoomMemberListStateBannedProvider : PreviewParameterProvider<Room |
|
|
|
aRoomMember(userId = UserId("@bob:example.com"), displayName = "Bob"), |
|
|
|
aRoomMember(userId = UserId("@bob:example.com"), displayName = "Bob"), |
|
|
|
aRoomMember(userId = UserId("@charlie:example.com"), displayName = "Charlie"), |
|
|
|
aRoomMember(userId = UserId("@charlie:example.com"), displayName = "Charlie"), |
|
|
|
), |
|
|
|
), |
|
|
|
isLoading = false, |
|
|
|
) |
|
|
|
), |
|
|
|
), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
), |
|
|
|
), |
|
|
|
aRoomMemberListState( |
|
|
|
aRoomMemberListState( |
|
|
|
roomMembers = RoomMembers( |
|
|
|
roomMembers = AsyncData.Loading( |
|
|
|
|
|
|
|
RoomMembers( |
|
|
|
invited = persistentListOf(), |
|
|
|
invited = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
banned = persistentListOf( |
|
|
|
banned = persistentListOf( |
|
|
@ -86,16 +94,17 @@ internal class RoomMemberListStateBannedProvider : PreviewParameterProvider<Room |
|
|
|
aRoomMember(userId = UserId("@bob:example.com"), displayName = "Bob"), |
|
|
|
aRoomMember(userId = UserId("@bob:example.com"), displayName = "Bob"), |
|
|
|
aRoomMember(userId = UserId("@charlie:example.com"), displayName = "Charlie"), |
|
|
|
aRoomMember(userId = UserId("@charlie:example.com"), displayName = "Charlie"), |
|
|
|
), |
|
|
|
), |
|
|
|
isLoading = true, |
|
|
|
) |
|
|
|
), |
|
|
|
), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
), |
|
|
|
), |
|
|
|
aRoomMemberListState( |
|
|
|
aRoomMemberListState( |
|
|
|
roomMembers = RoomMembers( |
|
|
|
roomMembers = AsyncData.Success( |
|
|
|
|
|
|
|
RoomMembers( |
|
|
|
invited = persistentListOf(), |
|
|
|
invited = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
joined = persistentListOf(), |
|
|
|
banned = persistentListOf(), |
|
|
|
banned = persistentListOf(), |
|
|
|
isLoading = false, |
|
|
|
) |
|
|
|
), |
|
|
|
), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
moderationState = aRoomMembersModerationState(canDisplayBannedUsers = true), |
|
|
|
) |
|
|
|
) |
|
|
@ -103,8 +112,8 @@ internal class RoomMemberListStateBannedProvider : PreviewParameterProvider<Room |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
internal fun aRoomMemberListState( |
|
|
|
internal fun aRoomMemberListState( |
|
|
|
roomMembers: RoomMembers = RoomMembers.loading(), |
|
|
|
roomMembers: AsyncData<RoomMembers> = AsyncData.Loading(), |
|
|
|
searchResults: SearchBarResultState<RoomMembers> = SearchBarResultState.Initial(), |
|
|
|
searchResults: SearchBarResultState<AsyncData<RoomMembers>> = SearchBarResultState.Initial(), |
|
|
|
moderationState: RoomMembersModerationState = aRoomMembersModerationState(), |
|
|
|
moderationState: RoomMembersModerationState = aRoomMembersModerationState(), |
|
|
|
) = RoomMemberListState( |
|
|
|
) = RoomMemberListState( |
|
|
|
roomMembers = roomMembers, |
|
|
|
roomMembers = roomMembers, |
|
|
|