FlowStepPage: make onBackClicked nullable and remove canGoBack.

This commit is contained in:
Benoit Marty 2023-11-07 10:52:12 +01:00 committed by Benoit Marty
parent 96c81999a3
commit 6d8386307b
6 changed files with 6 additions and 13 deletions

View file

@ -58,7 +58,6 @@ fun LogoutView(
val eventSink = state.eventSink val eventSink = state.eventSink
FlowStepPage( FlowStepPage(
canGoBack = true,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
title = title(state), title = title(state),
subTitle = subtitle(state), subTitle = subtitle(state),

View file

@ -56,7 +56,6 @@ fun SecureBackupDisableView(
} }
FlowStepPage( FlowStepPage(
modifier = modifier, modifier = modifier,
canGoBack = true,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
title = stringResource(id = R.string.screen_key_backup_disable_title), title = stringResource(id = R.string.screen_key_backup_disable_title),
subTitle = stringResource(id = R.string.screen_key_backup_disable_description), subTitle = stringResource(id = R.string.screen_key_backup_disable_description),

View file

@ -46,7 +46,6 @@ fun SecureBackupEnableView(
} }
FlowStepPage( FlowStepPage(
modifier = modifier, modifier = modifier,
canGoBack = true,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable), title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable),
iconResourceId = CommonDrawables.ic_key, iconResourceId = CommonDrawables.ic_key,

View file

@ -50,7 +50,6 @@ fun SecureBackupEnterRecoveryKeyView(
FlowStepPage( FlowStepPage(
modifier = modifier, modifier = modifier,
canGoBack = true,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
iconResourceId = CommonDrawables.ic_key, iconResourceId = CommonDrawables.ic_key,
title = stringResource(id = R.string.screen_recovery_key_confirm_title), title = stringResource(id = R.string.screen_recovery_key_confirm_title),

View file

@ -48,8 +48,7 @@ fun SecureBackupSetupView(
) { ) {
FlowStepPage( FlowStepPage(
modifier = modifier, modifier = modifier,
canGoBack = state.canGoBack(), onBackClicked = onBackClicked.takeIf { state.canGoBack() },
onBackClicked = onBackClicked,
title = title(state), title = title(state),
subTitle = subtitle(state), subTitle = subtitle(state),
iconResourceId = CommonDrawables.ic_key, iconResourceId = CommonDrawables.ic_key,

View file

@ -40,7 +40,7 @@ import io.element.android.libraries.theme.ElementTheme
/** /**
* A Page with: * A Page with:
* - a top bar as TobAppBar with optional back button * - a top bar as TobAppBar with optional back button (displayed if [onBackClicked] is not null)
* - a header, as IconTitleSubtitleMolecule * - a header, as IconTitleSubtitleMolecule
* - a content. * - a content.
* - a footer, as ButtonColumnMolecule * - a footer, as ButtonColumnMolecule
@ -48,24 +48,23 @@ import io.element.android.libraries.theme.ElementTheme
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun FlowStepPage( fun FlowStepPage(
canGoBack: Boolean,
onBackClicked: () -> Unit,
iconResourceId: Int?, iconResourceId: Int?,
title: String, title: String,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
onBackClicked: (() -> Unit)? = null,
subTitle: String? = null, subTitle: String? = null,
content: @Composable () -> Unit = {}, content: @Composable () -> Unit = {},
buttons: @Composable ColumnScope.() -> Unit = {}, buttons: @Composable ColumnScope.() -> Unit = {},
) { ) {
BackHandler(enabled = canGoBack) { BackHandler(enabled = onBackClicked != null) {
onBackClicked() onBackClicked?.invoke()
} }
HeaderFooterPage( HeaderFooterPage(
modifier = modifier, modifier = modifier,
topBar = { topBar = {
TopAppBar( TopAppBar(
navigationIcon = { navigationIcon = {
if (canGoBack) { if (onBackClicked != null) {
BackButton(onClick = onBackClicked) BackButton(onClick = onBackClicked)
} }
}, },
@ -94,7 +93,6 @@ fun FlowStepPage(
@Composable @Composable
internal fun FlowStepPagePreview() = ElementPreview { internal fun FlowStepPagePreview() = ElementPreview {
FlowStepPage( FlowStepPage(
canGoBack = true,
onBackClicked = {}, onBackClicked = {},
title = "Title", title = "Title",
subTitle = "Subtitle", subTitle = "Subtitle",