Merge pull request #427 from greenart7c3/claude/add-report-loading-indicator-DOXPX

Add loading state callbacks to report screens
This commit is contained in:
greenart7c3
2026-05-06 11:18:06 -03:00
committed by GitHub
3 changed files with 15 additions and 0 deletions
@@ -59,6 +59,7 @@ fun CrashReportScreen(
modifier: Modifier = Modifier,
account: Account,
onDismiss: () -> Unit,
onLoading: (Boolean) -> Unit = {},
) {
val initialStack = remember { Amber.instance.pendingCrashReport ?: "" }
var editedStack by remember { mutableStateOf(initialStack) }
@@ -115,12 +116,15 @@ fun CrashReportScreen(
Button(
modifier = Modifier.weight(1f),
onClick = {
if (editedStack.isBlank()) return@Button
onLoading(true)
ReportSender.send(
account = account,
report = editedStack,
clipboard = clipboardManager,
onDone = {
Amber.instance.pendingCrashReport = null
onLoading(false)
onDismiss()
},
)
@@ -989,6 +989,9 @@ fun MainScreen(
navController.navController.navigateUp()
}
},
onLoading = {
isLoading = it
},
)
},
)
@@ -1009,6 +1012,9 @@ fun MainScreen(
navController.navController.navigateUp()
}
},
onLoading = {
isLoading = it
},
)
},
)
@@ -72,6 +72,7 @@ fun TranslationReportScreen(
modifier: Modifier = Modifier,
account: Account,
onDismiss: () -> Unit,
onLoading: (Boolean) -> Unit = {},
) {
val initialMessage = remember { Amber.instance.pendingTranslationReport.value ?: "" }
var editedMessage by remember { mutableStateOf(initialMessage) }
@@ -129,6 +130,7 @@ fun TranslationReportScreen(
modifier = Modifier.weight(1f),
onClick = {
val report = editedMessage.ifBlank { return@Button }
onLoading(true)
if (BuildFlavorChecker.isOfflineFlavor()) {
Amber.instance.applicationIOScope.launch(Dispatchers.Main) {
try {
@@ -141,9 +143,11 @@ fun TranslationReportScreen(
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
Amber.instance.startActivity(intent)
Amber.instance.pendingTranslationReport.value = null
onLoading(false)
onDismiss()
} catch (_: Exception) {
Amber.instance.pendingTranslationReport.value = null
onLoading(false)
onDismiss()
}
}
@@ -171,6 +175,7 @@ fun TranslationReportScreen(
)
}
Amber.instance.pendingTranslationReport.value = null
onLoading(false)
onDismiss()
delay(10000)
client.disconnect()