PDfGeneration: display error message

This commit is contained in:
Pierre-Yves Nicolas
2025-07-08 10:00:49 +02:00
parent 320cd5b1bf
commit 196b1b3c3e

View File

@@ -97,7 +97,6 @@ fun PdfGenerationBottomSheetWrapper(
}
}
// TODO Handle error in PDF generation
@Composable
fun PdfGenerationBottomSheet(
filename: String,
@@ -159,7 +158,9 @@ fun PdfGenerationBottomSheet(
if (uiState.savedFileUri != null) {
SavePdfBar(onOpen)
}
if (uiState.errorMessage != null) {
ErrorBar(uiState.errorMessage)
}
}
}
@@ -215,6 +216,19 @@ private fun SavePdfBar(onOpen: () -> Unit) {
}
}
@Composable
private fun ErrorBar(errorMessage: String) {
Text(
text = "Error: $errorMessage",
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.error,
modifier = Modifier
.fillMaxWidth()
.background(MaterialTheme.colorScheme.errorContainer)
.padding(16.dp),
)
}
@Composable
private fun CloseButton(onDismiss: () -> Unit) {
Box(Modifier.fillMaxWidth()) {
@@ -253,7 +267,6 @@ fun PreviewPdfGenerationDialogDuringGeneration() {
fun PreviewPdfGenerationDialogAfterGeneration() {
PreviewToCustomize(
uiState = PdfGenerationUiState(
isGenerating = false,
generatedPdf = GeneratedPdf("file://fake.pdf".toUri(), 442897L, 3)
)
)
@@ -264,13 +277,22 @@ fun PreviewPdfGenerationDialogAfterGeneration() {
fun PreviewPdfGenerationDialogAfterSave() {
PreviewToCustomize(
uiState = PdfGenerationUiState(
isGenerating = false,
generatedPdf = GeneratedPdf("file://fake.pdf".toUri(), 442897L, 3),
savedFileUri = "file:///fake".toUri()
)
)
}
@Preview(showBackground = true)
@Composable
fun PreviewPdfGenerationDialogWithError() {
PreviewToCustomize(
uiState = PdfGenerationUiState(
errorMessage = "PDF generation failed"
)
)
}
@Composable
fun PreviewToCustomize(uiState: PdfGenerationUiState) {
MyScanTheme {