Extract SaveChangesDialog to its own file
This commit is contained in:
parent
015b497d5a
commit
bfc13c37a9
2 changed files with 41 additions and 3 deletions
|
|
@ -50,6 +50,7 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
||||||
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.ConfirmationDialog
|
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||||
|
import io.element.android.libraries.designsystem.components.dialogs.SaveChangesDialog
|
||||||
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.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.Checkbox
|
import io.element.android.libraries.designsystem.theme.components.Checkbox
|
||||||
|
|
@ -182,9 +183,7 @@ fun ChangeRolesView(
|
||||||
confirmationDialog = { confirming ->
|
confirmationDialog = { confirming ->
|
||||||
when (confirming) {
|
when (confirming) {
|
||||||
is AsyncAction.ConfirmingCancellation -> {
|
is AsyncAction.ConfirmingCancellation -> {
|
||||||
ConfirmationDialog(
|
SaveChangesDialog(
|
||||||
title = stringResource(CommonStrings.dialog_unsaved_changes_title),
|
|
||||||
content = stringResource(CommonStrings.dialog_unsaved_changes_description_android),
|
|
||||||
onSubmitClick = { state.eventSink(ChangeRolesEvent.Exit) },
|
onSubmitClick = { state.eventSink(ChangeRolesEvent.Exit) },
|
||||||
onDismiss = { state.eventSink(ChangeRolesEvent.CloseDialog) }
|
onDismiss = { state.eventSink(ChangeRolesEvent.CloseDialog) }
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2025 New Vector Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||||
|
* Please see LICENSE files in the repository root for full details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.element.android.libraries.designsystem.components.dialogs
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun SaveChangesDialog(
|
||||||
|
onSubmitClick: () -> Unit,
|
||||||
|
onDismiss: () -> Unit,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
title: String = stringResource(CommonStrings.dialog_unsaved_changes_title),
|
||||||
|
content: String = stringResource(CommonStrings.dialog_unsaved_changes_description_android),
|
||||||
|
) = ConfirmationDialog(
|
||||||
|
modifier = modifier,
|
||||||
|
title = title,
|
||||||
|
content = content,
|
||||||
|
onSubmitClick = onSubmitClick,
|
||||||
|
onDismiss = onDismiss,
|
||||||
|
)
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun SaveChangeDialogPreview() = ElementPreview {
|
||||||
|
SaveChangesDialog(
|
||||||
|
onSubmitClick = {},
|
||||||
|
onDismiss = {}
|
||||||
|
)
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue