summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Stibane <marc@taler.net>2023-10-29 15:19:43 +0100
committerMarc Stibane <marc@taler.net>2023-10-29 20:01:21 +0100
commit2eef469c2be69c1fa5c78109e472b9449f5aeb78 (patch)
tree804a13e1d2387974a9ef0dab59e98a7586e4833c
parentbabe75ae2204dadb6ef2f5f1dd51432fe73b63d7 (diff)
downloadtaler-ios-2eef469c2be69c1fa5c78109e472b9449f5aeb78.tar.gz
taler-ios-2eef469c2be69c1fa5c78109e472b9449f5aeb78.tar.bz2
taler-ios-2eef469c2be69c1fa5c78109e472b9449f5aeb78.zip
Minimalistic
-rw-r--r--TalerWallet1/Views/Balances/BalanceRowView.swift18
-rw-r--r--TalerWallet1/Views/Balances/BalancesSectionView.swift7
-rw-r--r--TalerWallet1/Views/Balances/TwoRowButtons.swift35
-rw-r--r--TalerWallet1/Views/Exchange/ExchangeRowView.swift11
4 files changed, 45 insertions, 26 deletions
diff --git a/TalerWallet1/Views/Balances/BalanceRowView.swift b/TalerWallet1/Views/Balances/BalanceRowView.swift
index 9c36bbd..afead75 100644
--- a/TalerWallet1/Views/Balances/BalanceRowView.swift
+++ b/TalerWallet1/Views/Balances/BalanceRowView.swift
@@ -22,7 +22,8 @@ struct BalanceButton: View {
let needVStack = !iconOnly && Self.needVStack(titles, width: width,
sizeCategory: sizeCategory,
padding: 20, sameSize: false)
- AmountRowV(amountStr: amountStr, largeAmountFont: true, fitsHorizontal: !needVStack) {
+ AmountRowV(amountStr: amountStr, largeAmountFont: true,
+ fitsHorizontal: !needVStack) {
Text(iconOnly ? "" : balanceTitle)
.accessibilityFont(.title2)
.foregroundColor(.secondary)
@@ -38,7 +39,8 @@ struct BalanceButton: View {
/// This view shows the currency row in a currency section
-/// [Send Coins] [Receive Coins] Balance
+/// Balance: amount
+/// [Send Money] [Request Payment]
struct BalanceRowView: View {
let amount: Amount
let currencyInfo: CurrencyInfo?
@@ -46,10 +48,13 @@ struct BalanceRowView: View {
let recvAction: () -> Void
let rowAction: () -> Void
@Environment(\.sizeCategory) var sizeCategory
+ @AppStorage("iconOnly") var iconOnly: Bool = false
@AppStorage("myListStyle") var myListStyle: MyListStyle = .automatic
+ let sendTitle0 = String(localized: "Send", comment: "Abbreviation <Send Money>")
let sendTitle1 = String(localized: "Send", comment: "Top of button <Send Money>")
let sendTitle2 = String(localized: "Money", comment: "Bottom of button <Send Money>")
+ let requestTitle0 = String(localized: "Request", comment: "Abbreviation <Request Payment>")
let requestTitle1 = String(localized: "Request", comment: "Top of button <Request Payment>")
let requestTitle2 = String(localized: "Payment", comment: "Bottom of button <Request Payment>")
@@ -62,11 +67,12 @@ struct BalanceRowView: View {
sizeCategory: sizeCategory,
rowAction: rowAction)
let uiFont = TalerFont.uiFont(.title3)
- let titles = [(requestTitle1, uiFont), (requestTitle2, uiFont), (sendTitle1, uiFont), (sendTitle2, uiFont)]
+ let titles = iconOnly ? [(sendTitle0, uiFont), (requestTitle0, uiFont)]
+ : [(sendTitle1, uiFont), (sendTitle2, uiFont), (requestTitle1, uiFont), (requestTitle2, uiFont)]
let needVStack = Self.needVStack(titles, width: width, sizeCategory: sizeCategory, padding: 10)
- let twoRowButtons = TwoRowButtons(sendTitles: (sendTitle1, sendTitle2),
- recvTitles: (requestTitle1, requestTitle2),
- horizontal: needVStack,
+ let twoRowButtons = TwoRowButtons(sendTitles: iconOnly ? (sendTitle0, nil) : (sendTitle1, sendTitle2),
+ recvTitles: iconOnly ? (requestTitle0, nil) : (requestTitle1, requestTitle2),
+ isHorizontal: needVStack,
lineLimit: 5, sendDisabled: amount.isZero,
sendAction: sendAction,
recvAction: recvAction)
diff --git a/TalerWallet1/Views/Balances/BalancesSectionView.swift b/TalerWallet1/Views/Balances/BalancesSectionView.swift
index 91872a8..ea56359 100644
--- a/TalerWallet1/Views/Balances/BalancesSectionView.swift
+++ b/TalerWallet1/Views/Balances/BalancesSectionView.swift
@@ -22,6 +22,7 @@ struct BalancesSectionView {
@Binding var centsToTransfer: UInt64
@Binding var summary: String
+ @AppStorage("iconOnly") var iconOnly: Bool = false
@EnvironmentObject private var model: WalletModel
@EnvironmentObject private var controller: Controller
@@ -150,8 +151,10 @@ extension BalancesSectionView: View {
transactions: threeTransactions,
reloadOneAction: reloadOneAction)
} header: {
- Text("Recent transactions")
- .accessibilityFont(.callout)
+ if !iconOnly {
+ Text("Recent transactions")
+ .accessibilityFont(.callout)
+ }
}
}
} // body
diff --git a/TalerWallet1/Views/Balances/TwoRowButtons.swift b/TalerWallet1/Views/Balances/TwoRowButtons.swift
index 3627734..08b62bc 100644
--- a/TalerWallet1/Views/Balances/TwoRowButtons.swift
+++ b/TalerWallet1/Views/Balances/TwoRowButtons.swift
@@ -6,27 +6,34 @@ import SwiftUI
import taler_swift
struct TwoRowButtons: View {
- let sendTitles: (String, String)
- let recvTitles: (String, String)
- let horizontal:Bool
+ let sendTitles: (String, String?)
+ let recvTitles: (String, String?)
+ let isHorizontal: Bool
let lineLimit: Int
let sendDisabled: Bool
let sendAction: () -> Void
let recvAction: () -> Void
@Environment(\.sizeCategory) var sizeCategory
+
+ func title(_ titles: (String, String?), _ horizontal: Bool) -> String {
+ let delimiter = horizontal ? " " : "\n"
+ let (title1, title2) = titles
+ if let title2 {
+ return title1 + delimiter + title2
+ } else {
+ return title1
+ }
+ }
var body: some View {
- let delimiter = horizontal ? " " : "\n"
- let (sendTitle1, sendTitle2) = sendTitles
- let (recvTitle1, recvTitle2) = recvTitles
Group {
- Button(sendTitle1 + delimiter + sendTitle2, action: sendAction)
+ Button(title(sendTitles, isHorizontal), action: sendAction)
.lineLimit(lineLimit)
.disabled(sendDisabled)
.buttonStyle(TalerButtonStyle(type: .bordered,
dimmed: false,
aligned: .center))
- Button(recvTitle1 + delimiter + recvTitle2, action: recvAction)
+ Button(title(recvTitles, isHorizontal), action: recvAction)
.lineLimit(lineLimit)
.disabled(false)
.buttonStyle(TalerButtonStyle(type: .bordered,
@@ -41,15 +48,15 @@ struct TwoRowButtons_Previews: PreviewProvider {
List {
TwoRowButtons(sendTitles: ("Send", TESTCURRENCY),
recvTitles: ("Receive", LONGCURRENCY),
- horizontal: true,
- lineLimit: 2, sendDisabled: true,
- sendAction: {}, recvAction: {})
+ isHorizontal: true,
+ lineLimit: 2, sendDisabled: true,
+ sendAction: {}, recvAction: {})
.listRowSeparator(.hidden)
TwoRowButtons(sendTitles: ("Send", DEMOCURRENCY),
recvTitles: ("Receive", DEMOCURRENCY),
- horizontal: true,
- lineLimit: 2, sendDisabled: true,
- sendAction: {}, recvAction: {})
+ isHorizontal: true,
+ lineLimit: 2, sendDisabled: true,
+ sendAction: {}, recvAction: {})
.listRowSeparator(.hidden)
}
}
diff --git a/TalerWallet1/Views/Exchange/ExchangeRowView.swift b/TalerWallet1/Views/Exchange/ExchangeRowView.swift
index c0cc2f4..2848e58 100644
--- a/TalerWallet1/Views/Exchange/ExchangeRowView.swift
+++ b/TalerWallet1/Views/Exchange/ExchangeRowView.swift
@@ -11,6 +11,7 @@ struct ExchangeRowView: View {
// let amount: Amount
let currency: String
@Binding var centsToTransfer: UInt64
+ @AppStorage("iconOnly") var iconOnly: Bool = false
@Environment(\.sizeCategory) var sizeCategory
@State private var buttonSelected: Int? = nil
@@ -52,11 +53,13 @@ struct ExchangeRowView: View {
SingleAxisGeometryReader { width in
Group {
let uiFont = TalerFont.uiFont(.title3)
- let titles = [(depositTitle, uiFont), (withdrawTitle, uiFont), (currency, uiFont)]
+ let titles = iconOnly ? [(depositTitle, uiFont), (withdrawTitle, uiFont)]
+ : [(depositTitle, uiFont), (withdrawTitle, uiFont), (currency, uiFont)]
let needVStack = Self.needVStack(titles, width: width, sizeCategory: sizeCategory, padding: 10)
- let twoRowButtons = TwoRowButtons(sendTitles: (depositTitle, currency), // TODO: amount.currencyStr
- recvTitles: (withdrawTitle, currency), // TODO: amount.currencyStr
- horizontal: needVStack,
+ // TODO: amount.currencyStr
+ let twoRowButtons = TwoRowButtons(sendTitles: iconOnly ? (depositTitle, nil) : (depositTitle, currency),
+ recvTitles: iconOnly ? (withdrawTitle, nil) : (withdrawTitle, currency),
+ isHorizontal: needVStack,
lineLimit: 5, sendDisabled: true, // TODO: amount.isZero
sendAction: { selectAndUpdate(1) },
recvAction: { selectAndUpdate(2) })