From 79e7bb2931bd62f3a4b3582619cbab02ba253f45 Mon Sep 17 00:00:00 2001 From: maxmoney21m Date: Mon, 6 Mar 2023 01:39:42 +0800 Subject: [PATCH] Extract ZoomableImageDialog for reuse --- .../ui/components/ZoomableImageView.kt | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt index 495f535a9..7e705f0a6 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableImageView.kt @@ -57,29 +57,32 @@ fun ZoomableImageView(word: String) { ) if (dialogOpen) { - Dialog( - onDismissRequest = { dialogOpen = false }, - properties = DialogProperties(usePlatformDefaultWidth = false) - ) { - Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) { - Column( - modifier = Modifier.padding(10.dp) + ZoomableImageDialog(word, onDismiss = { dialogOpen = false }) + } +} + +@Composable +fun ZoomableImageDialog(imageUrl: String, onDismiss: () -> Unit) { + Dialog( + onDismissRequest = onDismiss, + properties = DialogProperties(usePlatformDefaultWidth = false) + ) { + Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) { + Column( + modifier = Modifier.padding(10.dp) + ) { + Row( + modifier = Modifier + .fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically ) { - Row( - modifier = Modifier - .fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - CloseButton(onCancel = { - dialogOpen = false - }) + CloseButton(onCancel = onDismiss) - SaveToGallery(url = word) - } - - ZoomableAsyncImage(word) + SaveToGallery(url = imageUrl) } + + ZoomableAsyncImage(imageUrl) } } }