diff --git a/app/src/main/java/org/groundplatform/android/ui/home/mapcontainer/jobs/ShareLocationModal.kt b/app/src/main/java/org/groundplatform/android/ui/home/mapcontainer/jobs/ShareLocationModal.kt index 2f304ede48..7da3317b1f 100644 --- a/app/src/main/java/org/groundplatform/android/ui/home/mapcontainer/jobs/ShareLocationModal.kt +++ b/app/src/main/java/org/groundplatform/android/ui/home/mapcontainer/jobs/ShareLocationModal.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog +import androidx.compose.ui.window.DialogProperties import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive @@ -51,8 +52,12 @@ import org.groundplatform.ui.theme.AppTheme @OptIn(ExperimentalMaterial3Api::class) @Composable fun ShareLocationModal(loiReport: LoiReport, onDismiss: () -> Unit) { - Dialog(onDismissRequest = onDismiss) { + Dialog( + onDismissRequest = onDismiss, + properties = DialogProperties(usePlatformDefaultWidth = false), + ) { Card( + modifier = Modifier.padding(16.dp), shape = RoundedCornerShape(24.dp), colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surface), ) { @@ -68,7 +73,7 @@ fun ShareLocationModal(loiReport: LoiReport, onDismiss: () -> Unit) { Modifier.fillMaxWidth() .padding(vertical = 16.dp) .background(MaterialTheme.colorScheme.background, RoundedCornerShape(12.dp)) - .padding(24.dp) + .padding(vertical = 24.dp, horizontal = 8.dp) ) { GroundQrCode( modifier = Modifier.align(Alignment.Center), diff --git a/app/src/test/java/org/groundplatform/android/ui/home/mapcontainer/jobs/JobMapComponentTest.kt b/app/src/test/java/org/groundplatform/android/ui/home/mapcontainer/jobs/JobMapComponentTest.kt index 4ca9f9018c..695ad2e253 100644 --- a/app/src/test/java/org/groundplatform/android/ui/home/mapcontainer/jobs/JobMapComponentTest.kt +++ b/app/src/test/java/org/groundplatform/android/ui/home/mapcontainer/jobs/JobMapComponentTest.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick +import androidx.compose.ui.test.performScrollTo import kotlin.test.Test import kotlin.test.assertTrue import org.groundplatform.android.FakeData.ADHOC_JOB @@ -259,7 +260,7 @@ class JobMapComponentTest { } composeTestRule.onNodeWithText(getString(R.string.share)).performClick() - composeTestRule.onNodeWithText(getString(R.string.close)).performClick() + composeTestRule.onNodeWithText(getString(R.string.close)).performScrollTo().performClick() composeTestRule.waitForIdle() composeTestRule.onNodeWithText(loiSheetData.loi.job.name!!).assertIsDisplayed() diff --git a/core/ui/src/commonMain/kotlin/org/groundplatform/ui/components/qrcode/GroundQrCode.kt b/core/ui/src/commonMain/kotlin/org/groundplatform/ui/components/qrcode/GroundQrCode.kt index 10093dbecb..23b076a7c8 100644 --- a/core/ui/src/commonMain/kotlin/org/groundplatform/ui/components/qrcode/GroundQrCode.kt +++ b/core/ui/src/commonMain/kotlin/org/groundplatform/ui/components/qrcode/GroundQrCode.kt @@ -19,6 +19,7 @@ import androidx.annotation.VisibleForTesting import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -96,10 +97,10 @@ fun GroundQrCode( style = MaterialTheme.typography.titleMedium, color = MaterialTheme.colorScheme.onSurfaceVariant, ) - Box(modifier = modifier.sizeIn(minWidth = 142.dp, minHeight = 142.dp)) { + Box(modifier = modifier.aspectRatio(1f).sizeIn(minWidth = 142.dp, minHeight = 142.dp)) { qrBitmap?.let { Image( - modifier = Modifier.align(Alignment.Center), + modifier = Modifier.align(Alignment.Center).fillMaxSize(), bitmap = it, contentDescription = contentDescription, contentScale = ContentScale.Fit,