Browse Source

Use AsyncView in SecureBackupEnterRecoveryKeyView

pull/1738/head
Benoit Marty 11 months ago committed by Benoit Marty
parent
commit
ffccbb5d90
  1. 23
      features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enter/SecureBackupEnterRecoveryKeyView.kt

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

@ -20,19 +20,17 @@ import androidx.compose.foundation.layout.fillMaxWidth @@ -20,19 +20,17 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.features.securebackup.impl.R
import io.element.android.features.securebackup.impl.setup.views.RecoveryKeyView
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule
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.async.AsyncView
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Button
@ -48,19 +46,12 @@ fun SecureBackupEnterRecoveryKeyView( @@ -48,19 +46,12 @@ fun SecureBackupEnterRecoveryKeyView(
onBackClicked: () -> Unit,
modifier: Modifier = Modifier,
) {
when (state.submitAction) {
Async.Uninitialized -> Unit
is Async.Failure -> ErrorDialog(
content = state.submitAction.error.message ?: state.submitAction.error.toString(),
onDismiss = {
state.eventSink(SecureBackupEnterRecoveryKeyEvents.ClearDialog)
}
)
is Async.Loading -> Unit
is Async.Success -> LaunchedEffect(state.submitAction) {
onDone()
}
}
AsyncView(
async = state.submitAction,
onSuccess = { onDone() },
showProgressDialog = false,
onErrorDismiss = { state.eventSink(SecureBackupEnterRecoveryKeyEvents.ClearDialog) },
)
HeaderFooterPage(
modifier = modifier,

Loading…
Cancel
Save