From fa20c60a941870c3c32f289da50b75ff861dd3bc Mon Sep 17 00:00:00 2001 From: enlineawork Date: Fri, 11 Sep 2026 11:31:24 -0300 Subject: [PATCH] fix(android): castellanizar Hallazgos de campo --- .../dhinspeccion/ui/FieldFindingScreen.kt | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/FieldFindingScreen.kt b/android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/FieldFindingScreen.kt index 9b4b882..23f59f2 100644 --- a/android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/FieldFindingScreen.kt +++ b/android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/FieldFindingScreen.kt @@ -185,7 +185,7 @@ fun FieldFindingScreen(model: MainViewModel) { Text(asset.name, fontWeight = FontWeight.Bold) Text("${asset.code} · Acta ${options.act.code}", style = MaterialTheme.typography.bodySmall) Text( - "GPS + foto del Inventario: ${if (options.capture.readyForFinding) "OK" else "pendiente"}", + "Ubicación y foto del Inventario: ${if (options.capture.readyForFinding) "completas" else "pendientes"}", color = if (options.capture.readyForFinding) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodySmall, ) @@ -210,7 +210,10 @@ fun FieldFindingScreen(model: MainViewModel) { Card(Modifier.fillMaxWidth()) { Column(Modifier.padding(10.dp), verticalArrangement = Arrangement.spacedBy(6.dp)) { Text("${finding.code} · ${finding.title}", fontWeight = FontWeight.SemiBold) - Text("Gravedad: ${finding.severity ?: "s/d"} · ${finding.status}", style = MaterialTheme.typography.bodySmall) + Text( + "Gravedad: ${finding.severity ?: "sin definir"} · ${findingStatusLabel(finding.status)}", + style = MaterialTheme.typography.bodySmall, + ) Text( "Evidencias: ${evidence.size} · Fotos: ${evidence.count { it.kind == "PHOTO" }}", style = MaterialTheme.typography.bodySmall, @@ -226,7 +229,7 @@ fun FieldFindingScreen(model: MainViewModel) { enabled = !model.busy, modifier = Modifier.fillMaxWidth(), ) { - Text("Tomar foto con GPS") + Text("Tomar foto con ubicación") } } } @@ -366,7 +369,7 @@ fun FieldFindingScreen(model: MainViewModel) { enabled = !model.busy, modifier = Modifier.fillMaxWidth(), ) { - Text("Tomar foto con GPS") + Text("Tomar foto con ubicación") } Text("También podés registrar otro Hallazgo sobre el mismo Inventario.", style = MaterialTheme.typography.bodySmall) } @@ -375,6 +378,17 @@ fun FieldFindingScreen(model: MainViewModel) { } } +private fun findingStatusLabel(status: String): String = when (status) { + "OPEN" -> "Abierto" + "COMPANY_RESPONDED" -> "Respondido por la empresa" + "UNDER_REVIEW" -> "En revisión" + "VERIFICATION_PENDING" -> "Verificación pendiente" + "READY_TO_CLOSE" -> "Listo para cierre" + "CLOSED" -> "Cerrado" + "CANCELLED" -> "Cancelado" + else -> "Estado no reconocido" +} + private fun findingHasPermission(context: Context, permission: String): Boolean = ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED @@ -393,7 +407,7 @@ private suspend fun currentFindingGeo(context: Context): FindingGeoSnapshot = su client.getCurrentLocation(Priority.PRIORITY_HIGH_ACCURACY, source.token) .addOnSuccessListener { location -> if (!continuation.isActive) return@addOnSuccessListener - if (location == null) continuation.resumeWithException(IllegalStateException("No se pudo obtener una ubicación GPS actual.")) + if (location == null) continuation.resumeWithException(IllegalStateException("No se pudo obtener una ubicación actual.")) else continuation.resume(FindingGeoSnapshot(location.latitude, location.longitude, location.accuracy.toDouble())) } .addOnFailureListener { if (continuation.isActive) continuation.resumeWithException(it) }