mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Extract SaveChangesDialog to its own file
This commit is contained in:
committed by
Benoit Marty
parent
7aa564e74d
commit
d94e247404
+2
-3
@@ -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) }
|
||||||
)
|
)
|
||||||
|
|||||||
+39
@@ -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 = {}
|
||||||
|
)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user