taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit c8adbe5082fdda1e210a75976da05ef4e35e2178
parent b1b30fabfa5664009d93eafc66d13306bfe9634b
Author: Marc Stibane <marc@taler.net>
Date:   Thu,  4 Jan 2024 17:53:16 +0100

bars relative to fontSize

Diffstat:
MTalerWallet1/Views/HelperViews/BarGraph.swift | 12+++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/TalerWallet1/Views/HelperViews/BarGraph.swift b/TalerWallet1/Views/HelperViews/BarGraph.swift @@ -16,6 +16,7 @@ struct BarGraphHeader: View { @Environment(\.colorSchemeContrast) private var colorSchemeContrast @State private var completedTransactions: [Transaction] = [] + @ScaledMetric var barHeight = 9 // relative to fontSize var body: some View { HStack (alignment: .center, spacing: 10) { @@ -23,7 +24,7 @@ struct BarGraphHeader: View { .accessibilityFont(.title2) // .foregroundColor(colorSchemeContrast == .increased ? .primary : .secondary) BarGraph(transactions: $completedTransactions, - maxBars: MAXBARS, barHeight: 10) // TODO: barHeight relative to fontSize + maxBars: MAXBARS, barHeight: barHeight) } .task { symLog.log(".task for BarGraphHeader(\(currency)) - reload Transactions") @@ -38,7 +39,7 @@ struct BarGraphHeader: View { struct BarGraph: View { @Binding var transactions: [Transaction] let maxBars: Int - let barHeight : Double + let barHeight: Double func maxValue(_ someTransactions: [Transaction]) -> Double { var maxValue = 0.0 @@ -67,15 +68,16 @@ struct BarGraph: View { let valueTransparent = barHeight - valueColored // let _ = print("max: \(maxValue), ", incoming ? "+" : "-", netto) VStack(spacing: 0) { + let width = barHeight / 3 Rectangle() .opacity(0.001) - .frame (width: 3, height: incoming ? valueTransparent : barHeight ) + .frame (width: width, height: incoming ? valueTransparent : barHeight ) Rectangle() .foregroundColor(incoming ? .green : .red) - .frame (width: 3, height: valueColored ) + .frame (width: width, height: valueColored ) Rectangle() .opacity(0.001) - .frame (width: 3, height: incoming ? barHeight : valueTransparent) + .frame (width: width, height: incoming ? barHeight : valueTransparent) } } }