@@ -37,26 +37,26 @@ import io.element.android.libraries.ui.strings.CommonStrings
3737internal fun BlockUserSection (state : RoomMemberDetailsState , modifier : Modifier = Modifier ) {
3838 PreferenceCategory (showDivider = false , modifier = modifier) {
3939 when (state.isBlocked) {
40- is Async .Failure -> {
41- PreferenceBlockUser (state.isBlocked.prevData, false , state.eventSink, modifier)
42- RetryDialog (
43- content = stringResource(CommonStrings .error_unknown),
44- onDismiss = { state.eventSink(RoomMemberDetailsEvents .ClearBlockUserError ) },
45- onRetry = {
46- val event = when (state.isBlocked.prevData) {
47- true -> RoomMemberDetailsEvents .UnblockUser (needsConfirmation = false )
48- false -> RoomMemberDetailsEvents .BlockUser (needsConfirmation = false )
49- null -> /* Should not happen */ RoomMemberDetailsEvents .ClearBlockUserError
50- }
51- state.eventSink(event)
52- },
53- )
54- }
55- is Async .Loading -> PreferenceBlockUser (state.isBlocked.prevData, true , state.eventSink, modifier)
56- is Async .Success -> PreferenceBlockUser (state.isBlocked.data, false , state.eventSink, modifier)
57- Async .Uninitialized -> PreferenceBlockUser (null , true , state.eventSink, modifier)
40+ is Async .Failure -> PreferenceBlockUser (isBlocked = state.isBlocked.prevData, isLoading = false , eventSink = state.eventSink)
41+ is Async .Loading -> PreferenceBlockUser (isBlocked = state.isBlocked.prevData, isLoading = true , eventSink = state.eventSink)
42+ is Async .Success -> PreferenceBlockUser (isBlocked = state.isBlocked.data, isLoading = false , eventSink = state.eventSink)
43+ Async .Uninitialized -> PreferenceBlockUser (isBlocked = null , isLoading = true , eventSink = state.eventSink)
5844 }
5945 }
46+ if (state.isBlocked is Async .Failure ) {
47+ RetryDialog (
48+ content = stringResource(CommonStrings .error_unknown),
49+ onDismiss = { state.eventSink(RoomMemberDetailsEvents .ClearBlockUserError ) },
50+ onRetry = {
51+ val event = when (state.isBlocked.prevData) {
52+ true -> RoomMemberDetailsEvents .UnblockUser (needsConfirmation = false )
53+ false -> RoomMemberDetailsEvents .BlockUser (needsConfirmation = false )
54+ null -> /* Should not happen */ RoomMemberDetailsEvents .ClearBlockUserError
55+ }
56+ state.eventSink(event)
57+ },
58+ )
59+ }
6060}
6161
6262@Composable
0 commit comments