Iterate on Save change dialog.

This commit is contained in:
Benoit Marty 2025-12-03 14:35:52 +01:00 committed by Benoit Marty
parent 5bd194b2b6
commit eeef1b11ea
10 changed files with 36 additions and 25 deletions

View file

@ -20,7 +20,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.features.rolesandpermissions.impl.R
import io.element.android.libraries.designsystem.components.async.AsyncActionView
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
import io.element.android.libraries.designsystem.components.dialogs.SaveChangesDialog
import io.element.android.libraries.designsystem.components.preferences.PreferenceDropdown
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@ -99,13 +99,10 @@ fun ChangeRoomPermissionsView(
async = state.confirmExitAction,
onSuccess = { onComplete(false) },
confirmationDialog = {
ConfirmationDialog(
title = stringResource(R.string.screen_room_change_role_unsaved_changes_title),
content = stringResource(R.string.screen_room_change_role_unsaved_changes_description),
submitText = stringResource(CommonStrings.action_save),
cancelText = stringResource(CommonStrings.action_discard),
onSubmitClick = { state.eventSink(ChangeRoomPermissionsEvent.Save) },
onDismiss = { state.eventSink(ChangeRoomPermissionsEvent.Exit) }
SaveChangesDialog(
onSaveClick = { state.eventSink(ChangeRoomPermissionsEvent.Save) },
onDiscardClick = { state.eventSink(ChangeRoomPermissionsEvent.Exit) },
onDismiss = { state.eventSink(ChangeRoomPermissionsEvent.ResetPendingActions) },
)
},
onErrorDismiss = {},

View file

@ -172,8 +172,9 @@ fun ChangeRolesView(
when (confirming) {
is AsyncAction.ConfirmingCancellation -> {
SaveChangesDialog(
onSubmitClick = { state.eventSink(ChangeRolesEvent.Exit) },
onDismiss = { state.eventSink(ChangeRolesEvent.CloseDialog) }
onSaveClick = { state.eventSink(ChangeRolesEvent.Save) },
onDiscardClick = { state.eventSink(ChangeRolesEvent.Exit) },
onDismiss = { state.eventSink(ChangeRolesEvent.CloseDialog) },
)
}
is ConfirmingModifyingOwners -> {