taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit 0ac9851f6db6ae3d45105ee76c5f574acc84deb0
parent 6ca22829a6910fcfebe112ff5cf26e9276ba0313
Author: Iván Ávalos <avalos@disroot.org>
Date:   Wed, 29 Apr 2026 23:16:54 +0200

[wallet] improve transaction list alignment + use Unicode minus for negative amounts

Diffstat:
Mwallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt | 41++++++++++++++++++++++++++++++-----------
Mwallet/src/main/res/values-ar/strings.xml | 2+-
Mwallet/src/main/res/values-ca/strings.xml | 4++--
Mwallet/src/main/res/values-de/strings.xml | 4++--
Mwallet/src/main/res/values-es/strings.xml | 4++--
Mwallet/src/main/res/values-fi/strings.xml | 2+-
Mwallet/src/main/res/values-fr/strings.xml | 4++--
Mwallet/src/main/res/values-gl/strings.xml | 4++--
Mwallet/src/main/res/values-it/strings.xml | 2+-
Mwallet/src/main/res/values-iw/strings.xml | 4++--
Mwallet/src/main/res/values-ja/strings.xml | 2+-
Mwallet/src/main/res/values-ko/strings.xml | 2+-
Mwallet/src/main/res/values-pt/strings.xml | 2+-
Mwallet/src/main/res/values-ru/strings.xml | 2+-
Mwallet/src/main/res/values-sv/strings.xml | 2+-
Mwallet/src/main/res/values-tr/strings.xml | 4++--
Mwallet/src/main/res/values-uk/strings.xml | 4++--
Mwallet/src/main/res/values/strings.xml | 6++++--
18 files changed, 58 insertions(+), 37 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt @@ -22,12 +22,15 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.defaultMinSize +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items @@ -72,6 +75,7 @@ import net.taler.wallet.balances.ScopeInfo.Exchange import net.taler.wallet.cleanExchange import net.taler.wallet.compose.Banner import net.taler.wallet.compose.LoadingScreen +import net.taler.wallet.compose.NewMenuItem import net.taler.wallet.compose.TalerSurface import net.taler.wallet.compose.cardPaddings import net.taler.wallet.main.ViewMode @@ -281,6 +285,7 @@ fun TransactionRow( Column { ListItem( modifier = Modifier + .height(IntrinsicSize.Min) .defaultMinSize(minHeight = 80.dp) .combinedClickable( onClick = onTransactionClick, @@ -291,7 +296,9 @@ fun TransactionRow( ), trailingContent = { Box( - modifier = Modifier.padding(8.dp), + modifier = Modifier + .fillMaxHeight() + .padding(8.dp), contentAlignment = Center, ) { TransactionAmountInfo(tx, spec) @@ -299,7 +306,9 @@ fun TransactionRow( }, leadingContent = { Box( - modifier = Modifier.padding(8.dp), + modifier = Modifier + .fillMaxHeight() + .padding(8.dp), contentAlignment = Center, ) { if (!selectionMode) { @@ -320,16 +329,26 @@ fun TransactionRow( } }, headlineContent = { - Text( - tx.getTitle(), - modifier = Modifier.padding(vertical = 3.dp), - style = MaterialTheme.typography.titleMedium, - ) - }, - supportingContent = { - TransactionExtraInfo(tx) + Column(Modifier.padding(vertical = 8.dp)) { + Text( + text = tx.timestamp.ms.toRelativeTime(LocalContext.current).toString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + Text( + tx.getTitle(), + modifier = Modifier.padding(vertical = 3.dp), + style = MaterialTheme.typography.titleMedium, + ) + ProvideTextStyle( + MaterialTheme.typography.bodyMedium.copy( + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + ) { + TransactionExtraInfo(tx) + } + } }, - overlineContent = { Text(tx.timestamp.ms.toRelativeTime(LocalContext.current).toString()) }, colors = ListItemDefaults.colors( containerColor = if (isSelected) { MaterialTheme.colorScheme.secondaryContainer diff --git a/wallet/src/main/res/values-ar/strings.xml b/wallet/src/main/res/values-ar/strings.xml @@ -19,7 +19,7 @@ <string name="error_unsupported_uri">خطأ: مُعرّف الموارد الموحد لنظام URI غير معتمد.</string> <string name="host_apdu_service_desc">مدفوعات الاتصال قريب المدى لنظام Taler</string> <string name="amount_positive">%s +</string> - <string name="amount_negative">%s -</string> + <string name="amount_negative">%s −</string> <string name="amount_chosen">المبلغ المختار</string> <string name="transactions_title">المعاملات</string> <string name="transactions_empty">ليس لديك معاملات</string> diff --git a/wallet/src/main/res/values-ca/strings.xml b/wallet/src/main/res/values-ca/strings.xml @@ -38,7 +38,7 @@ <string name="menu_settings">Paràmetres</string> <string name="host_apdu_service_desc">Pagaments de Taler per NFC</string> <string name="amount_positive">+%s</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="amount_chosen">Quantitat escollida</string> <string name="transactions_title">Transaccions</string> <string name="transactions_balance">Saldo</string> @@ -238,7 +238,7 @@ <string name="amount_invoiced">Quantitat demanada</string> <string name="amount_lost">Quantitat perduda</string> <string name="amount_total_label">Total:</string> - <string name="balances_outbound_amount">-%1$s sortint</string> + <string name="balances_outbound_amount">−%1$s sortint</string> <string name="transaction_peer_push_credit_pending">Rebent</string> <string name="transaction_peer_push_debit_pending">Enviant</string> <string name="transactions_delete_selected_dialog_title">Esborrar transaccions</string> diff --git a/wallet/src/main/res/values-de/strings.xml b/wallet/src/main/res/values-de/strings.xml @@ -99,7 +99,7 @@ \n%s</string> <string name="exchange_tos_error">Fehler beim Anzeigen der AGB: %1$s</string> <string name="settings_version_protocol_exchange">Unterstützte Exchange-Versionen</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">−%s</string> <string name="amount_positive">+%s</string> <string name="exchange_add_url">Adresse des Zahlungsdienstleisters eingeben</string> <string name="button_back">Zurück</string> @@ -223,7 +223,7 @@ <string name="amount_transfer">Betrag</string> <string name="balances_empty_withdraw_kudos_button">Demo-Geld erhalten</string> <string name="balances_inbound_amount">+%1$s eingehend</string> - <string name="balances_outbound_amount">-%1$s abgehend</string> + <string name="balances_outbound_amount">−%1$s abgehend</string> <string name="transaction_deposit_to">Einzahlung an %1$s</string> <string name="transaction_peer_push_credit">Erhalten</string> <string name="transaction_state_aborted">Die Transaktion wurde abgebrochen</string> diff --git a/wallet/src/main/res/values-es/strings.xml b/wallet/src/main/res/values-es/strings.xml @@ -87,7 +87,7 @@ <string name="nav_error">Error</string> <string name="uri_invalid">Dirección taler:// inválida</string> <string name="offline">La operación requiere de acceso a Internet. Por favor asegúrate que tu conexión a Internet funcione y prueba de nuevo.</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="transactions_title">Transacciones</string> <string name="transactions_error">No se pudo cargar las transacciones \n @@ -218,7 +218,7 @@ <string name="amount_send">Monto a enviar</string> <string name="amount_total">Monto total</string> <string name="amount_total_label">Total:</string> - <string name="balances_outbound_amount">-%1$s saliente</string> + <string name="balances_outbound_amount">−%1$s saliente</string> <string name="amount_invoiced">Monto cobrado</string> <string name="amount_transfer">Transferir</string> <string name="transaction_deposit_to">Depósito a %1$s</string> diff --git a/wallet/src/main/res/values-fi/strings.xml b/wallet/src/main/res/values-fi/strings.xml @@ -44,7 +44,7 @@ <string name="menu_settings">Asetukset</string> <string name="host_apdu_service_desc">Taler NFC maksut</string> <string name="amount_positive">+%s</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="amount_chosen">Valittu summa</string> <string name="amount_sent">Summa lähetetty</string> <string name="amount_received">Summa saatu</string> diff --git a/wallet/src/main/res/values-fr/strings.xml b/wallet/src/main/res/values-fr/strings.xml @@ -25,7 +25,7 @@ <string name="transaction_refresh">Frais de change pour la monnaie expirée</string> <string name="payment_fee">+%s frais de transaction</string> <string name="payment_button_confirm">Confirmer le paiement</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="nav_prompt_withdraw">Retirer depuis un compte bancaire</string> <string name="nav_exchange_tos">Conditions générales d\'utilisation du service d\'échange</string> <string name="nav_error">Erreur</string> @@ -247,7 +247,7 @@ <string name="balance_scope_auditor">Auditeur : %1$s</string> <string name="balances_empty_withdraw_kudos_message">Obtenez de l\'argent fictif pour découvrir comment payer avec de l\'argent numérique.</string> <string name="balances_inbound_amount">+%1$s entrant</string> - <string name="balances_outbound_amount">-%1$s sortant</string> + <string name="balances_outbound_amount">−%1$s sortant</string> <string name="exchange_delete_force">Forcer la suppression (purge)</string> <string name="payment_template_error">Erreur de création de la commande</string> <string name="reload">Recharger</string> diff --git a/wallet/src/main/res/values-gl/strings.xml b/wallet/src/main/res/values-gl/strings.xml @@ -70,7 +70,7 @@ <string name="amount_invalid">Cantidade non válida</string> <string name="amount_invoiced">Cantidade solicitada</string> <string name="amount_lost">Cantidade perdida</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="amount_excess">A cantidade excede o máximo de %1$s</string> <string name="amount_positive">+%s</string> <string name="amount_receive">Cantidade a recibir</string> @@ -86,7 +86,7 @@ <string name="balance_scope_auditor">Auditoría: %1$s</string> <string name="balance_scope_exchange">De %1$s</string> <string name="balances_inbound_amount">+%1$s entrante</string> - <string name="balances_outbound_amount">-%1$s saínte</string> + <string name="balances_outbound_amount">−%1$s saínte</string> <!-- Transactions --> <string name="transaction_denom_loss">Perda de fondos</string> diff --git a/wallet/src/main/res/values-it/strings.xml b/wallet/src/main/res/values-it/strings.xml @@ -18,7 +18,7 @@ <string name="menu_settings">Impostazioni</string> <string name="host_apdu_service_desc">Pagamenti Taler NFC</string> <string name="amount_positive">+ %s</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="amount_chosen">Quantità Scelta</string> <string name="transactions_title">Transazioni</string> <string name="transactions_empty">Non hai nessuna transazione</string> diff --git a/wallet/src/main/res/values-iw/strings.xml b/wallet/src/main/res/values-iw/strings.xml @@ -83,7 +83,7 @@ <string name="amount_invalid">הסכום אינו תקין</string> <string name="amount_invoiced">נדרש סכום</string> <string name="amount_lost">הסכום שאבד</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="amount_excess">הסכום גבוה מהמקסימום העומד על %1$s</string> <string name="amount_positive">+%s</string> <string name="amount_receive">סכום לקבל</string> @@ -99,7 +99,7 @@ <string name="balance_scope_auditor">רואה חשבון: %1$s</string> <string name="balance_scope_exchange">מאת %1$s</string> <string name="balances_inbound_amount">+%1$s נכנסים</string> - <string name="balances_outbound_amount">-%1$s יוצאים</string> + <string name="balances_outbound_amount">−%1$s יוצאים</string> <!-- Transactions --> <string name="transaction_action_kyc">זיהוי והכרת הלקוח (KYC) שלם</string> diff --git a/wallet/src/main/res/values-ja/strings.xml b/wallet/src/main/res/values-ja/strings.xml @@ -25,7 +25,7 @@ <string name="error_unsupported_uri">誤り:この通貨URIはサポートされていません。</string> <string name="menu_settings">設定</string> <string name="amount_positive">+ %s</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="amount_chosen">選択した金額</string> <string name="transactions_title">取引履歴</string> <string name="transactions_empty">あなたは、取引履歴を持っていません</string> diff --git a/wallet/src/main/res/values-ko/strings.xml b/wallet/src/main/res/values-ko/strings.xml @@ -23,7 +23,7 @@ <string name="menu_settings">설정</string> <string name="host_apdu_service_desc">탈러 NFC 결제</string> <string name="amount_positive">+ %s</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="amount_chosen">선택한 금액</string> <string name="transactions_title">거래</string> <string name="transactions_empty">거래가 없습니다</string> diff --git a/wallet/src/main/res/values-pt/strings.xml b/wallet/src/main/res/values-pt/strings.xml @@ -15,7 +15,7 @@ <string name="menu_settings">Configurações</string> <string name="host_apdu_service_desc">Pagamentos Taler NFC</string> <string name="amount_positive">+ %s</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="amount_chosen">Quantidade Selecionada</string> <string name="transactions_title">Transações</string> <string name="transactions_empty">Não tem quaisquer transações</string> diff --git a/wallet/src/main/res/values-ru/strings.xml b/wallet/src/main/res/values-ru/strings.xml @@ -36,7 +36,7 @@ <string name="payment_balance_insufficient">Недостаточно средств на балансе!</string> <string name="nav_exchange_tos">Условия оказания услуг биржей</string> <string name="paste_invalid">Неверный тип данных в буфере обмена</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="payment_fee">+%s комиссия за платёж</string> <string name="transaction_refresh">Комиссия за обмен монет с истёкшим сроком годности</string> <string name="google_play_short_desc" tools:keep="@string/google_play_short_desc">GNU Taler помогает осуществлять удобные и безопасные онлайн-транзакции быстро и просто.</string> diff --git a/wallet/src/main/res/values-sv/strings.xml b/wallet/src/main/res/values-sv/strings.xml @@ -19,7 +19,7 @@ <string name="menu_settings">Inställningar</string> <string name="host_apdu_service_desc">Taler NFC-betalningar</string> <string name="amount_positive">+ %s</string> - <string name="amount_negative">- %s</string> + <string name="amount_negative">− %s</string> <string name="amount_chosen">Valt belopp</string> <string name="transactions_title">Transaktioner</string> <string name="transactions_empty">Du har inga transaktioner</string> diff --git a/wallet/src/main/res/values-tr/strings.xml b/wallet/src/main/res/values-tr/strings.xml @@ -19,7 +19,7 @@ <string name="error_unsupported_uri">Hata: Bu Taler URI\'si desteklenmiyor.</string> <string name="host_apdu_service_desc">Taler NFC ödemeleri</string> <string name="amount_positive">+. %s</string> - <string name="amount_negative">-. %s</string> + <string name="amount_negative">−. %s</string> <string name="amount_chosen">Seçilen miktar</string> <string name="transactions_title">İşlemler</string> <string name="transactions_empty">Herhangi bir işleminiz bulunmamaktadır</string> @@ -244,7 +244,7 @@ <string name="share_payment">Ödeme bağlantısını paylaş</string> <string name="amount_transfer">Aktar</string> <string name="balances_inbound_amount">+%1$s gelen</string> - <string name="balances_outbound_amount">-%1$s giden</string> + <string name="balances_outbound_amount">−%1$s giden</string> <string name="transaction_deposit">Yatır</string> <string name="amount_fee">Hizmet bedeli</string> <string name="amount_invalid">Miktar geçersiz</string> diff --git a/wallet/src/main/res/values-uk/strings.xml b/wallet/src/main/res/values-uk/strings.xml @@ -63,7 +63,7 @@ <string name="amount_invalid">Недійсна сума</string> <string name="amount_invoiced">Сума виставленого рахунку</string> <string name="amount_lost">Втрачена сума</string> - <string name="amount_negative">-%s</string> + <string name="amount_negative">−%s</string> <string name="amount_excess">Сума перевищує максимум%1$s</string> <string name="amount_positive">+%s</string> <string name="amount_receive">Сума до отримання</string> @@ -79,7 +79,7 @@ <string name="balance_scope_auditor">Аудитор: %1$s</string> <string name="balance_scope_exchange">Від %1$s</string> <string name="balances_inbound_amount">+%1$s надійшло</string> - <string name="balances_outbound_amount">-%1$s витрачено</string> + <string name="balances_outbound_amount">−%1$s витрачено</string> <!-- Transactions --> <string name="transaction_action_kyc">Завершити KYC</string> diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml @@ -116,7 +116,8 @@ GNU Taler is immune to many types of fraud such as credit card data theft, phish <string name="amount_invalid">Amount invalid</string> <string name="amount_invoiced">Amount requested</string> <string name="amount_lost">Amount lost</string> - <string name="amount_negative">-%s</string> + <!-- must be minus sign! (− U+2212) --> + <string name="amount_negative">−%s</string> <string name="amount_excess">Amount exceeds maximum of %1$s</string> <string name="amount_positive">+%s</string> <string name="amount_receive">Amount to receive</string> @@ -138,7 +139,8 @@ GNU Taler is immune to many types of fraud such as credit card data theft, phish <string name="balances_empty_withdraw_kudos_button">Get demo cash</string> <string name="balances_empty_withdraw_kudos_message">Get demo cash to experience how to pay with digital cash.</string> <string name="balances_inbound_amount">+%1$s incoming</string> - <string name="balances_outbound_amount">-%1$s outgoing</string> + <!-- must be minus sign! (− U+2212) --> + <string name="balances_outbound_amount">−%1$s outgoing</string> <string name="balances_section_statements">Donation statements</string> <string name="balances_title">Balances</string>