Use AsyncView in RoomDetailsEditView
This commit is contained in:
parent
ed4363c5c6
commit
af6241920f
1 changed files with 9 additions and 25 deletions
|
|
@ -36,7 +36,6 @@ import androidx.compose.material.rememberModalBottomSheetState
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.focus.FocusManager
|
import androidx.compose.ui.focus.FocusManager
|
||||||
|
|
@ -47,14 +46,12 @@ import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.roomdetails.impl.R
|
import io.element.android.features.roomdetails.impl.R
|
||||||
import io.element.android.libraries.architecture.Async
|
|
||||||
import io.element.android.libraries.designsystem.components.LabelledTextField
|
import io.element.android.libraries.designsystem.components.LabelledTextField
|
||||||
import io.element.android.libraries.designsystem.components.ProgressDialog
|
import io.element.android.libraries.designsystem.components.async.AsyncView
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||||
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
|
@ -174,26 +171,13 @@ fun RoomDetailsEditView(
|
||||||
onActionSelected = { state.eventSink(RoomDetailsEditEvents.HandleAvatarAction(it)) }
|
onActionSelected = { state.eventSink(RoomDetailsEditEvents.HandleAvatarAction(it)) }
|
||||||
)
|
)
|
||||||
|
|
||||||
when (state.saveAction) {
|
AsyncView(
|
||||||
is Async.Loading -> {
|
async = state.saveAction,
|
||||||
ProgressDialog(text = stringResource(R.string.screen_room_details_updating_room))
|
progressText = stringResource(R.string.screen_room_details_updating_room),
|
||||||
}
|
onSuccess = { onRoomEdited() },
|
||||||
|
errorMessage = { stringResource(R.string.screen_room_details_edition_error) },
|
||||||
is Async.Failure -> {
|
onErrorDismiss = { state.eventSink(RoomDetailsEditEvents.CancelSaveChanges) }
|
||||||
ErrorDialog(
|
)
|
||||||
content = stringResource(R.string.screen_room_details_edition_error),
|
|
||||||
onDismiss = { state.eventSink(RoomDetailsEditEvents.CancelSaveChanges) },
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
is Async.Success -> {
|
|
||||||
LaunchedEffect(state.saveAction) {
|
|
||||||
onRoomEdited()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> Unit
|
|
||||||
}
|
|
||||||
|
|
||||||
PermissionsView(
|
PermissionsView(
|
||||||
state = state.cameraPermissionState,
|
state = state.cameraPermissionState,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue