Fix issue about modifier.

This commit is contained in:
Benoit Marty 2023-07-12 09:37:13 +02:00
parent 2cc548f145
commit 38b91a7592

View file

@ -37,26 +37,26 @@ import io.element.android.libraries.ui.strings.CommonStrings
internal fun BlockUserSection(state: RoomMemberDetailsState, modifier: Modifier = Modifier) {
PreferenceCategory(showDivider = false, modifier = modifier) {
when (state.isBlocked) {
is Async.Failure -> {
PreferenceBlockUser(state.isBlocked.prevData, false, state.eventSink, modifier)
RetryDialog(
content = stringResource(CommonStrings.error_unknown),
onDismiss = { state.eventSink(RoomMemberDetailsEvents.ClearBlockUserError) },
onRetry = {
val event = when (state.isBlocked.prevData) {
true -> RoomMemberDetailsEvents.UnblockUser(needsConfirmation = false)
false -> RoomMemberDetailsEvents.BlockUser(needsConfirmation = false)
null -> /*Should not happen */ RoomMemberDetailsEvents.ClearBlockUserError
}
state.eventSink(event)
},
)
}
is Async.Loading -> PreferenceBlockUser(state.isBlocked.prevData, true, state.eventSink, modifier)
is Async.Success -> PreferenceBlockUser(state.isBlocked.data, false, state.eventSink, modifier)
Async.Uninitialized -> PreferenceBlockUser(null, true, state.eventSink, modifier)
is Async.Failure -> PreferenceBlockUser(isBlocked = state.isBlocked.prevData, isLoading = false, eventSink = state.eventSink)
is Async.Loading -> PreferenceBlockUser(isBlocked = state.isBlocked.prevData, isLoading = true, eventSink = state.eventSink)
is Async.Success -> PreferenceBlockUser(isBlocked = state.isBlocked.data, isLoading = false, eventSink = state.eventSink)
Async.Uninitialized -> PreferenceBlockUser(isBlocked = null, isLoading = true, eventSink = state.eventSink)
}
}
if (state.isBlocked is Async.Failure) {
RetryDialog(
content = stringResource(CommonStrings.error_unknown),
onDismiss = { state.eventSink(RoomMemberDetailsEvents.ClearBlockUserError) },
onRetry = {
val event = when (state.isBlocked.prevData) {
true -> RoomMemberDetailsEvents.UnblockUser(needsConfirmation = false)
false -> RoomMemberDetailsEvents.BlockUser(needsConfirmation = false)
null -> /*Should not happen */ RoomMemberDetailsEvents.ClearBlockUserError
}
state.eventSink(event)
},
)
}
}
@Composable