Browse Source

FlowStepPage: make `onBackClicked` nullable and remove `canGoBack`.

pull/1737/head
Benoit Marty 11 months ago committed by Benoit Marty
parent
commit
7bd2ccd2a9
  1. 1
      features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt
  2. 1
      features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt
  3. 1
      features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt
  4. 1
      features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt
  5. 3
      features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt
  6. 12
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/FlowStepPage.kt

1
features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/LogoutView.kt

@ -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),

1
features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt

@ -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),

1
features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt

@ -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,

1
features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt

@ -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),

3
features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/SecureBackupSetupView.kt

@ -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,

12
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/FlowStepPage.kt

@ -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",

Loading…
Cancel
Save