Displays Zap Split error messages in sequence instead of in multiple popups.

pull/835/head
Vitor Pamplona 2024-04-12 10:58:32 -04:00
rodzic eda25b4cfe
commit 5559b69bdb
1 zmienionych plików z 10 dodań i 9 usunięć

Wyświetl plik

@ -942,7 +942,7 @@ fun ZapReaction(
var wantsToZap by remember { mutableStateOf(false) } var wantsToZap by remember { mutableStateOf(false) }
var wantsToChangeZapAmount by remember { mutableStateOf(false) } var wantsToChangeZapAmount by remember { mutableStateOf(false) }
var wantsToSetCustomZap by remember { mutableStateOf(false) } var wantsToSetCustomZap by remember { mutableStateOf(false) }
var showErrorMessageDialog by remember { mutableStateOf<String?>(null) } var showErrorMessageDialog by remember { mutableStateOf<List<String>>(emptyList()) }
var wantsToPay by var wantsToPay by
remember(baseNote) { remember(baseNote) {
mutableStateOf<ImmutableList<ZapPaymentHandler.Payable>>( mutableStateOf<ImmutableList<ZapPaymentHandler.Payable>>(
@ -972,7 +972,7 @@ fun ZapReaction(
onError = { _, message -> onError = { _, message ->
scope.launch { scope.launch {
zappingProgress = 0f zappingProgress = 0f
showErrorMessageDialog = message showErrorMessageDialog = showErrorMessageDialog + message
} }
}, },
onPayViaIntent = { wantsToPay = it }, onPayViaIntent = { wantsToPay = it },
@ -998,7 +998,7 @@ fun ZapReaction(
onError = { _, message -> onError = { _, message ->
scope.launch { scope.launch {
zappingProgress = 0f zappingProgress = 0f
showErrorMessageDialog = message showErrorMessageDialog = showErrorMessageDialog + message
} }
}, },
onProgress = { scope.launch(Dispatchers.Main) { zappingProgress = it } }, onProgress = { scope.launch(Dispatchers.Main) { zappingProgress = it } },
@ -1006,19 +1006,20 @@ fun ZapReaction(
) )
} }
if (showErrorMessageDialog != null) { if (showErrorMessageDialog.isNotEmpty()) {
val msg = showErrorMessageDialog.joinToString("\n")
ErrorMessageDialog( ErrorMessageDialog(
title = stringResource(id = R.string.error_dialog_zap_error), title = stringResource(id = R.string.error_dialog_zap_error),
textContent = showErrorMessageDialog ?: "", textContent = msg,
onClickStartMessage = { onClickStartMessage = {
baseNote.author?.let { baseNote.author?.let {
scope.launch(Dispatchers.IO) { scope.launch(Dispatchers.IO) {
val route = routeToMessage(it, showErrorMessageDialog, accountViewModel) val route = routeToMessage(it, msg, accountViewModel)
nav(route) nav(route)
} }
} }
}, },
onDismiss = { showErrorMessageDialog = null }, onDismiss = { showErrorMessageDialog = emptyList() },
) )
} }
@ -1038,7 +1039,7 @@ fun ZapReaction(
wantsToPay = persistentListOf() wantsToPay = persistentListOf()
scope.launch { scope.launch {
zappingProgress = 0f zappingProgress = 0f
showErrorMessageDialog = it showErrorMessageDialog = showErrorMessageDialog + it
} }
}, },
) )
@ -1050,7 +1051,7 @@ fun ZapReaction(
onError = { _, message -> onError = { _, message ->
scope.launch { scope.launch {
zappingProgress = 0f zappingProgress = 0f
showErrorMessageDialog = message showErrorMessageDialog = showErrorMessageDialog + message
} }
}, },
onProgress = { scope.launch(Dispatchers.Main) { zappingProgress = it } }, onProgress = { scope.launch(Dispatchers.Main) { zappingProgress = it } },