Skip to content

Commit b14b09e

Browse files
committed
Fix base64 tools UI
1 parent 71adb86 commit b14b09e

File tree

1 file changed

+13
-1
lines changed
  • feature/base64-tools/src/main/java/ru/tech/imageresizershrinker/feature/base64_tools/presentation

1 file changed

+13
-1
lines changed

feature/base64-tools/src/main/java/ru/tech/imageresizershrinker/feature/base64_tools/presentation/Base64ToolsContent.kt

+13-1
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ package ru.tech.imageresizershrinker.feature.base64_tools.presentation
1919

2020
import android.net.Uri
2121
import androidx.compose.animation.animateContentSize
22+
import androidx.compose.foundation.background
2223
import androidx.compose.foundation.layout.Box
2324
import androidx.compose.foundation.layout.Spacer
2425
import androidx.compose.foundation.layout.aspectRatio
2526
import androidx.compose.foundation.layout.height
2627
import androidx.compose.foundation.layout.padding
28+
import androidx.compose.material.icons.Icons
29+
import androidx.compose.material3.Icon
2730
import androidx.compose.material3.MaterialTheme
2831
import androidx.compose.runtime.Composable
2932
import androidx.compose.runtime.getValue
@@ -39,6 +42,7 @@ import androidx.compose.ui.res.stringResource
3942
import androidx.compose.ui.unit.dp
4043
import coil3.toBitmap
4144
import ru.tech.imageresizershrinker.core.resources.R
45+
import ru.tech.imageresizershrinker.core.resources.icons.BrokenImageAlt
4246
import ru.tech.imageresizershrinker.core.ui.utils.content_pickers.Picker
4347
import ru.tech.imageresizershrinker.core.ui.utils.content_pickers.rememberImagePicker
4448
import ru.tech.imageresizershrinker.core.ui.utils.helper.ImageUtils.safeAspectRatio
@@ -165,6 +169,13 @@ fun Base64ToolsContent(
165169
onSuccess = {
166170
aspectRatio = it.result.image.toBitmap().safeAspectRatio
167171
},
172+
error = {
173+
Icon(
174+
imageVector = Icons.Rounded.BrokenImageAlt,
175+
contentDescription = null,
176+
modifier = Modifier.background(MaterialTheme.colorScheme.surface)
177+
)
178+
},
168179
shape = MaterialTheme.shapes.medium,
169180
isLoadingFromDifferentPlace = component.isImageLoading
170181
)
@@ -203,7 +214,8 @@ fun Base64ToolsContent(
203214
mutableStateOf(false)
204215
}
205216
BottomButtonsBlock(
206-
targetState = (component.uri == null) to isPortrait,
217+
targetState = (component.base64String.isEmpty() && isPortrait) to isPortrait,
218+
isPrimaryButtonVisible = isPortrait || component.base64String.isNotEmpty(),
207219
onSecondaryButtonClick = pickImage,
208220
onSecondaryButtonLongClick = {
209221
showOneTimeImagePickingDialog = true

0 commit comments

Comments
 (0)