Use AsyncView in SecureBackupEnterRecoveryKeyView
This commit is contained in:
parent
8cd4ac3303
commit
ffccbb5d90
1 changed files with 7 additions and 16 deletions
|
|
@ -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(
|
|||
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…
Add table
Add a link
Reference in a new issue