Let SecureBackupDisableView use UserStoryFlowPage.
This commit is contained in:
parent
c57397792c
commit
f28d9af2ae
1 changed files with 20 additions and 47 deletions
|
|
@ -18,11 +18,11 @@ package io.element.android.features.securebackup.impl.disable
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
|
@ -31,10 +31,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.features.securebackup.impl.R
|
import io.element.android.features.securebackup.impl.R
|
||||||
import io.element.android.libraries.architecture.Async
|
import io.element.android.libraries.architecture.Async
|
||||||
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
|
import io.element.android.libraries.designsystem.atomic.pages.UserStoryFlowPage
|
||||||
import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule
|
|
||||||
import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage
|
|
||||||
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.ErrorDialog
|
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
|
@ -42,11 +39,9 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.Button
|
import io.element.android.libraries.designsystem.theme.components.Button
|
||||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
|
||||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||||
import io.element.android.libraries.theme.ElementTheme
|
import io.element.android.libraries.theme.ElementTheme
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SecureBackupDisableView(
|
fun SecureBackupDisableView(
|
||||||
state: SecureBackupDisableState,
|
state: SecureBackupDisableState,
|
||||||
|
|
@ -59,23 +54,17 @@ fun SecureBackupDisableView(
|
||||||
onDone()
|
onDone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HeaderFooterPage(
|
UserStoryFlowPage(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
topBar = {
|
canGoBack = true,
|
||||||
TopAppBar(
|
onBackClicked = onBackClicked,
|
||||||
navigationIcon = { BackButton(onClick = onBackClicked) },
|
title = stringResource(id = R.string.screen_key_backup_disable_title),
|
||||||
title = {},
|
subTitle = stringResource(id = R.string.screen_key_backup_disable_description),
|
||||||
|
iconResourceId = CommonDrawables.ic_key_off,
|
||||||
|
content = { Content(state = state) },
|
||||||
|
buttons = { Buttons(state = state) },
|
||||||
)
|
)
|
||||||
},
|
|
||||||
header = {
|
|
||||||
HeaderContent()
|
|
||||||
},
|
|
||||||
footer = {
|
|
||||||
BottomMenu(state = state)
|
|
||||||
}
|
|
||||||
) {
|
|
||||||
Content(state = state)
|
|
||||||
}
|
|
||||||
if (state.showConfirmationDialog) {
|
if (state.showConfirmationDialog) {
|
||||||
SecureBackupDisableConfirmationDialog(
|
SecureBackupDisableConfirmationDialog(
|
||||||
onConfirm = { state.eventSink.invoke(SecureBackupDisableEvents.DisableBackup(force = true)) },
|
onConfirm = { state.eventSink.invoke(SecureBackupDisableEvents.DisableBackup(force = true)) },
|
||||||
|
|
@ -102,24 +91,9 @@ private fun SecureBackupDisableConfirmationDialog(onConfirm: () -> Unit, onDismi
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun HeaderContent(
|
private fun ColumnScope.Buttons(
|
||||||
modifier: Modifier = Modifier,
|
|
||||||
) {
|
|
||||||
IconTitleSubtitleMolecule(
|
|
||||||
modifier = modifier.padding(top = 0.dp),
|
|
||||||
iconResourceId = CommonDrawables.ic_key_off,
|
|
||||||
title = stringResource(id = R.string.screen_key_backup_disable_title),
|
|
||||||
subTitle = stringResource(id = R.string.screen_key_backup_disable_description),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
private fun BottomMenu(
|
|
||||||
state: SecureBackupDisableState,
|
state: SecureBackupDisableState,
|
||||||
) {
|
) {
|
||||||
ButtonColumnMolecule(
|
|
||||||
modifier = Modifier.padding(bottom = 20.dp)
|
|
||||||
) {
|
|
||||||
Button(
|
Button(
|
||||||
text = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable),
|
text = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable),
|
||||||
showProgress = state.disableAction.isLoading(),
|
showProgress = state.disableAction.isLoading(),
|
||||||
|
|
@ -127,7 +101,6 @@ private fun BottomMenu(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
onClick = { state.eventSink.invoke(SecureBackupDisableEvents.DisableBackup(force = false)) }
|
onClick = { state.eventSink.invoke(SecureBackupDisableEvents.DisableBackup(force = false)) }
|
||||||
)
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue