Use AsyncView in EditUserProfileView
This commit is contained in:
parent
6ad2c99576
commit
aaa89afe34
7 changed files with 24 additions and 37 deletions
|
|
@ -78,10 +78,9 @@ fun NotificationSettingsView(
|
|||
// onCallsNotificationsChanged = { state.eventSink(NotificationSettingsEvents.SetCallNotificationsEnabled(it)) },
|
||||
)
|
||||
}
|
||||
val errorMessage = stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode)
|
||||
AsyncView(
|
||||
async = state.changeNotificationSettingAction,
|
||||
errorTransform = { errorMessage },
|
||||
errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
|
||||
onErrorDismiss = { state.eventSink(NotificationSettingsEvents.ClearNotificationChangeError) },
|
||||
onSuccess = {},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -115,10 +115,9 @@ fun EditDefaultNotificationSettingView(
|
|||
}
|
||||
}
|
||||
}
|
||||
val errorMessage = stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode)
|
||||
AsyncView(
|
||||
async = state.changeNotificationSettingAction,
|
||||
errorTransform = { errorMessage },
|
||||
errorMessage = { stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode) },
|
||||
onErrorDismiss = { state.eventSink(EditDefaultNotificationSettingStateEvents.ClearError) },
|
||||
onSuccess = {},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ import androidx.compose.material.ModalBottomSheetValue
|
|||
import androidx.compose.material.rememberModalBottomSheetState
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
|
|
@ -43,14 +42,12 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.preferences.impl.R
|
||||
import io.element.android.libraries.architecture.Async
|
||||
import io.element.android.libraries.designsystem.components.LabelledOutlinedTextField
|
||||
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.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.PreviewsDayNight
|
||||
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.Text
|
||||
|
|
@ -150,24 +147,14 @@ fun EditUserProfileView(
|
|||
onActionSelected = { state.eventSink(EditUserProfileEvents.HandleAvatarAction(it)) }
|
||||
)
|
||||
|
||||
when (state.saveAction) {
|
||||
is Async.Loading -> {
|
||||
ProgressDialog(text = stringResource(R.string.screen_edit_profile_updating_details))
|
||||
}
|
||||
is Async.Failure -> {
|
||||
ErrorDialog(
|
||||
title = stringResource(R.string.screen_edit_profile_error_title),
|
||||
content = stringResource(R.string.screen_edit_profile_error),
|
||||
onDismiss = { state.eventSink(EditUserProfileEvents.CancelSaveChanges) },
|
||||
)
|
||||
}
|
||||
is Async.Success -> {
|
||||
LaunchedEffect(state.saveAction) {
|
||||
onProfileEdited()
|
||||
}
|
||||
}
|
||||
else -> Unit
|
||||
}
|
||||
AsyncView(
|
||||
async = state.saveAction,
|
||||
progressText = stringResource(R.string.screen_edit_profile_updating_details),
|
||||
onSuccess = { onProfileEdited() },
|
||||
errorTitle = { stringResource(R.string.screen_edit_profile_error_title) },
|
||||
errorMessage = { stringResource(R.string.screen_edit_profile_error) },
|
||||
onErrorDismiss = { state.eventSink(EditUserProfileEvents.CancelSaveChanges) },
|
||||
)
|
||||
}
|
||||
PermissionsView(
|
||||
state = state.cameraPermissionState,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue