From 644119377db1df6457896b4b7a456306f7bb8886 Mon Sep 17 00:00:00 2001 From: rasputin Date: Sat, 6 Jun 2026 22:45:31 +0200 Subject: [PATCH] . --- .../gudariwallet/i18n/EnStrings.kt | 11 ++++-- .../gudariwallet/i18n/EsStrings.kt | 6 ++- .../gudariwallet/i18n/EuStrings.kt | 6 ++- .../bitcointxoko/gudariwallet/i18n/Strings.kt | 4 ++ .../gudariwallet/i18n/StringsExt.kt | 8 ++++ .../bitcointxoko/gudariwallet/ui/HomeTab.kt | 16 ++++---- .../ui/history/HistoryComponents.kt | 39 +++++++++++++------ .../gudariwallet/ui/send/SendScreen.kt | 3 -- 8 files changed, 65 insertions(+), 28 deletions(-) create mode 100644 app/src/main/java/com/bitcointxoko/gudariwallet/i18n/StringsExt.kt diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EnStrings.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EnStrings.kt index e6c871f..f9e2647 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EnStrings.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EnStrings.kt @@ -1,6 +1,7 @@ package com.bitcointxoko.gudariwallet.i18n import cafe.adriel.lyricist.LyricistStrings +import kotlin.String @LyricistStrings(languageTag = "en", default = true) val EnHomeStrings = AppStrings( @@ -31,9 +32,9 @@ val EnHomeStrings = AppStrings( showFiat = "+ Show fiat", updatedAt = { label -> "Updated $label" }, justNow = "just now", - minAgo = {min -> "$min ago"}, + minAgo = {min -> "$min min ago"}, atTime = {time -> "at $time"}, - viewHistory = "View History", + viewHistory = "Activity", selectCurrency = "Select currency", currencyNone = "None", hideFiatEquivalent = "Hide fiat equivalent", @@ -196,7 +197,7 @@ val EnHomeStrings = AppStrings( sendVmPaymentFailedRescan = "Payment failed — could not re-fetch address", // ── HistoryScreen ───────────────────────────────────────────────────────── - historyTitle = "History", + historyTitle = "Activity", historyClose = "Close", historySearchPayments = "Search payments", historyFilterPayments = "Filter payments", @@ -272,6 +273,10 @@ val EnHomeStrings = AppStrings( "partial matches work too.", // ── PaymentDetailScreen ─────────────────────────────────────────────────── + statusSuccess = "Success", // e.g. "Success" + statusPending = "Pending", // e.g. "Pending" + statusFailed = "Failed", // e.g. "Failed" + statusUnknown = "Unknown", // e.g. "Unknown" detailOutgoingTitle = "Outgoing payment", detailIncomingTitle = "Incoming payment", detailBack = "Back", diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EsStrings.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EsStrings.kt index 820783a..5d46d53 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EsStrings.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EsStrings.kt @@ -33,7 +33,7 @@ val EsHomeStrings = AppStrings( justNow = "justo ahora", minAgo = {min -> "hace $min min"}, atTime = {time -> "a las $time"}, - viewHistory = "Ver historial", + viewHistory = "Historial", selectCurrency = "Seleccionar moneda", currencyNone = "Ninguna", hideFiatEquivalent = "Ocultar equivalente fiat", @@ -272,6 +272,10 @@ val EsHomeStrings = AppStrings( "las coincidencias parciales también funcionan.", // ── PaymentDetailScreen ─────────────────────────────────────────────────── + statusSuccess = "Completado", + statusPending = "Pendiente", + statusFailed = "Fallido", + statusUnknown = "Desconocido", detailOutgoingTitle = "Pago saliente", detailIncomingTitle = "Pago entrante", detailBack = "Atrás", diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EuStrings.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EuStrings.kt index 70574a9..469e118 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EuStrings.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/EuStrings.kt @@ -33,7 +33,7 @@ val EuStrings = AppStrings( justNow = "orain bertan", minAgo = { min -> "duela $min minutu" }, atTime = { time -> "$time-etan" }, - viewHistory = "Ikusi historia", + viewHistory = "Historia", selectCurrency = "Hautatu moneta", currencyNone = "Bat ere ez", hideFiatEquivalent = "Ezkutatu fiat baliokidea", @@ -272,6 +272,10 @@ val EuStrings = AppStrings( "zati-bat datozenak ere funtzionatzen dute.", // ── PaymentDetailScreen ─────────────────────────────────────────────────── + statusSuccess = "Osatuta", + statusPending = "Zain", + statusFailed = "Huts eginda", + statusUnknown = "Ezezaguna", detailOutgoingTitle = "Irteerako ordainketa", detailIncomingTitle = "Sarrerako ordainketa", detailBack = "Atzera", diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/Strings.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/Strings.kt index 69eb3a0..079e8b3 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/Strings.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/Strings.kt @@ -271,6 +271,10 @@ data class AppStrings( val searchInfoFooter : String, // ── PaymentDetailScreen ─────────────────────────────────────────────────── + val statusSuccess : String, // e.g. "Success" + val statusPending : String, // e.g. "Pending" + val statusFailed : String, // e.g. "Failed" + val statusUnknown : String, // e.g. "Unknown" val detailOutgoingTitle : String, val detailIncomingTitle : String, val detailBack : String, diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/StringsExt.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/StringsExt.kt new file mode 100644 index 0000000..89ae87d --- /dev/null +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/i18n/StringsExt.kt @@ -0,0 +1,8 @@ +package com.bitcointxoko.gudariwallet.i18n + +fun AppStrings.paymentStatusLabel(status: String): String = when (status.lowercase()) { + "success" -> statusSuccess + "pending" -> statusPending + "failed" -> statusFailed + else -> statusUnknown +} \ No newline at end of file diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/HomeTab.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/HomeTab.kt index 0275465..8e84b18 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/HomeTab.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/HomeTab.kt @@ -45,8 +45,8 @@ fun HomeTab( val balanceState by vm.balanceState.collectAsState() val balanceHidden by vm.balanceHidden.collectAsState() - // ── NEW: language switcher state ────────────────────────────────────────── - val supportedTags = remember { listOf("en", "es", "eu") } // add more as you add locale files + // ── Language switcher state ────────────────────────────────────────── + // val supportedTags = remember { listOf("en", "es", "eu") } // add more as you add locale files val isRefreshing = balanceState is BalanceState.Loading || (balanceState as? BalanceState.Success)?.isRefreshing == true @@ -222,12 +222,12 @@ fun HomeTab( } // ── NEW: Language switcher ───────────────────────────────── - Spacer(Modifier.height(8.dp)) - LanguageSwitcherButton( - currentTag = lyricist.languageTag, - supportedTags = supportedTags, - onSelect = { tag -> lyricist.languageTag = tag } - ) +// Spacer(Modifier.height(8.dp)) +// LanguageSwitcherButton( +// currentTag = lyricist.languageTag, +// supportedTags = supportedTags, +// onSelect = { tag -> lyricist.languageTag = tag } +// ) // ────────────────────────────────────────────────────────── if (showCurrencyPicker) { diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/history/HistoryComponents.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/history/HistoryComponents.kt index 073c679..27e786f 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/history/HistoryComponents.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/history/HistoryComponents.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp +import com.bitcointxoko.gudariwallet.LocalAppStrings import com.bitcointxoko.gudariwallet.ui.theme.semanticColors // ── Amount + fiat column ───────────────────────────────────────────────────── @@ -63,31 +64,45 @@ internal fun AmountWithFiatColumn( @Composable internal fun StatusChip(status: String) { val semantic = semanticColors() + val strings = LocalAppStrings.current // or however you access Lyricist strings - val (containerColor, contentColor) = when (status.lowercase()) { - "success", "complete", "paid" -> - semantic.successContainer to semantic.onSuccessContainer - "pending", "in_flight", "inflight" -> - semantic.warningContainer to semantic.onWarningContainer - "failed", "error", "expired" -> - semantic.errorContainer to semantic.onErrorContainer - else -> - MaterialTheme.colorScheme.surfaceVariant to MaterialTheme.colorScheme.onSurfaceVariant + data class ChipStyle( + val containerColor: Color, + val contentColor: Color, + val label: String, + ) + + val style = when (status.lowercase()) { + "success", "complete", "paid" -> ChipStyle( + semantic.successContainer, semantic.onSuccessContainer, strings.statusSuccess + ) + "pending", "in_flight", "inflight" -> ChipStyle( + semantic.warningContainer, semantic.onWarningContainer, strings.statusPending + ) + "failed", "error", "expired" -> ChipStyle( + semantic.errorContainer, semantic.onErrorContainer, strings.statusFailed + ) + else -> ChipStyle( + MaterialTheme.colorScheme.surfaceVariant, + MaterialTheme.colorScheme.onSurfaceVariant, + strings.statusUnknown, + ) } Surface( shape = MaterialTheme.shapes.small, - color = containerColor, - contentColor = contentColor + color = style.containerColor, + contentColor = style.contentColor, ) { Text( - text = status.replaceFirstChar { it.uppercase() }, + text = style.label, style = MaterialTheme.typography.labelSmall, modifier = Modifier.padding(horizontal = 10.dp, vertical = 4.dp) ) } } + // ── Section card wrapper ───────────────────────────────────────────────────── @Composable diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/send/SendScreen.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/send/SendScreen.kt index f1be2c5..24a6a8b 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/send/SendScreen.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/send/SendScreen.kt @@ -232,9 +232,6 @@ fun SendScreen( Spacer(Modifier.height(8.dp)) Text( text = strings.paymentTakingLongDetail, - // "Your payment is still on its way. This may be a hold invoice - // that settles when the recipient is ready. You'll get a - // notification when it completes — you can safely leave this screen." style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, textAlign = TextAlign.Center