[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] branch master updated: UI improvements
From: |
gnunet |
Subject: |
[taler-taler-ios] branch master updated: UI improvements |
Date: |
Sun, 20 Aug 2023 06:45:18 +0200 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a commit to branch master
in repository taler-ios.
The following commit(s) were added to refs/heads/master by this push:
new 735c721 UI improvements
735c721 is described below
commit 735c7218dcde6ff4ce175895c84118a262332b91
Author: Marc Stibane <marc@taler.net>
AuthorDate: Sun Aug 20 06:44:28 2023 +0200
UI improvements
---
.../Views/Balances/BalanceRowButtons.swift | 11 ++++--
.../Views/HelperViews/LaunchAnimationView.swift | 32 +++++++++++------
TalerWallet1/Views/Main/MainView.swift | 9 ++---
TalerWallet1/Views/Main/SideBarView.swift | 26 +++-----------
TalerWallet1/Views/Peer2peer/SendAmount.swift | 2 +-
TalerWallet1/Views/Peer2peer/SendPurpose.swift | 40 +++++++++++++++-------
.../Views/Transactions/ManualDetails.swift | 2 +-
.../WithdrawBankIntegrated/WithdrawURIView.swift | 2 +-
8 files changed, 68 insertions(+), 56 deletions(-)
diff --git a/TalerWallet1/Views/Balances/BalanceRowButtons.swift
b/TalerWallet1/Views/Balances/BalanceRowButtons.swift
index 1eb0a61..6ac8a9b 100644
--- a/TalerWallet1/Views/Balances/BalanceRowButtons.swift
+++ b/TalerWallet1/Views/Balances/BalanceRowButtons.swift
@@ -19,12 +19,17 @@ struct BalanceRowButtons: View {
Button("Request\nPayment", action: recvAction)
.lineLimit(lineLimit)
.disabled(false)
- .buttonStyle(TalerButtonStyle(type: .bordered, narrow: narrow,
aligned: .center))
+ .buttonStyle(TalerButtonStyle(type: .bordered,
+ dimmed: false,
+ narrow: narrow,
+ aligned: .center))
Button("Send\n\(currency)", action: sendAction)
.lineLimit(lineLimit)
.disabled(amount.isZero)
- .buttonStyle(TalerButtonStyle(type: .bordered, narrow: narrow,
aligned: .center))
-
+ .buttonStyle(TalerButtonStyle(type: .bordered,
+ dimmed: false,
+ narrow: narrow,
+ aligned: .center))
}
}
}
diff --git a/TalerWallet1/Views/HelperViews/LaunchAnimationView.swift
b/TalerWallet1/Views/HelperViews/LaunchAnimationView.swift
index 03a9eac..761bf73 100644
--- a/TalerWallet1/Views/HelperViews/LaunchAnimationView.swift
+++ b/TalerWallet1/Views/HelperViews/LaunchAnimationView.swift
@@ -5,6 +5,18 @@
import SwiftUI
struct LaunchAnimationView: View {
+ @State private var rotationEnabled = true
+ var body: some View {
+ ZStack {
+ Color(.systemGray6).ignoresSafeArea()
+ RotatingTaler(size: (350 < UIScreen.main.bounds.width) ? 200 :
250, rotationEnabled: $rotationEnabled)
+ }
+ }
+}
+
+struct RotatingTaler: View {
+ let size: CGFloat
+ @Binding var rotationEnabled: Bool
@State private var rotationDirection = false
private let animationTimer = Timer
@@ -12,17 +24,17 @@ struct LaunchAnimationView: View {
.autoconnect()
var body: some View {
- ZStack {
- Color(.systemGray6).ignoresSafeArea()
- Image("taler-logo-2023-red")
- .resizable()
- .scaledToFit()
- .frame(width: 250, height: 250)
- .rotationEffect(rotationDirection ? Angle(degrees: 0) :
Angle(degrees: 900))
- }
+ Image("taler-logo-2023-red")
+ .resizable()
+ .scaledToFit()
+ .frame(width: size, height: size)
+ .rotationEffect(rotationDirection ? Angle(degrees: 0) :
Angle(degrees: 900))
+ .accessibilityHidden(true) // decorative logo
.onReceive(animationTimer) { timerValue in
- withAnimation(.easeInOut(duration: 1.9)) {
- rotationDirection.toggle()
+ if rotationEnabled {
+ withAnimation(.easeInOut(duration: 1.9)) {
+ rotationDirection.toggle()
+ }
}
}
}
diff --git a/TalerWallet1/Views/Main/MainView.swift
b/TalerWallet1/Views/Main/MainView.swift
index e81d23e..70c8a23 100644
--- a/TalerWallet1/Views/Main/MainView.swift
+++ b/TalerWallet1/Views/Main/MainView.swift
@@ -35,21 +35,16 @@ struct MainView: View {
// any change to rootViewId triggers popToRootView behaviour
.id(viewState.rootViewId)
.onAppear() {
- controller.playSound(1008) // TODO: Startup chime
+ controller.playSound(1008) // Startup chime
soundPlayed = true
}
} else if controller.backendState == .error {
ErrorView(errortext: nil) // TODO: show Error View
} else {
LaunchAnimationView()
-// .task {
-// let deviceW = UIScreen.main.bounds.width
-// let deviceH = UIScreen.main.bounds.height
-// print("UIScreen: \(deviceW), \(deviceH)")
-// }
}
}
- .animation(.easeOut(duration: LAUNCHDURATION), value:
controller.backendState)
+ .animation(.linear(duration: LAUNCHDURATION), value:
controller.backendState)
.overlay(alignment: .top) {
// Show the viewID on top of the app's NavigationView
DebugViewV()
diff --git a/TalerWallet1/Views/Main/SideBarView.swift
b/TalerWallet1/Views/Main/SideBarView.swift
index af47861..31a00d9 100644
--- a/TalerWallet1/Views/Main/SideBarView.swift
+++ b/TalerWallet1/Views/Main/SideBarView.swift
@@ -5,7 +5,7 @@
import SwiftUI
import SymLog
-fileprivate let sidebarWidth = 220.0
+fileprivate let sidebarWidth = 200.0
struct SidebarItem {
var name: String
@@ -19,11 +19,6 @@ struct SideBarView: View {
@Binding var currentView: Int
@Binding var sidebarVisible: Bool
@State private var rotationEnabled = false
- @State private var rotationDirection = false
-
- private let animationTimer = Timer
- .publish(every: 1.6, on: .current, in: .common)
- .autoconnect()
var body: some View {
HStack { // sideView left, clear dismiss target right
@@ -33,22 +28,10 @@ struct SideBarView: View {
Link(gnuTaler, destination:
URL(string:"https://taler.net";)!)
.font(.largeTitle) //.bold() iOS 16
.padding(.top, 30)
- Image("taler-logo-2023-red")
- .resizable()
- .scaledToFit()
- .frame(width: 100, height: 100)
- .rotationEffect(rotationDirection ? Angle(degrees: 0)
: Angle(degrees: 900))
- .accessibilityHidden(true) // decorative logo
+ RotatingTaler(size: 100, rotationEnabled: $rotationEnabled)
.onTapGesture {
rotationEnabled.toggle()
}
- .onReceive(animationTimer) { timerValue in
- if rotationEnabled {
- withAnimation(.easeInOut(duration: 1.9)) {
- rotationDirection.toggle()
- }
- }
- }
ForEach(0..<views.count, id: \.self) { i in
Button {
symLog.log("sidebar item \"\(views[i].name)\"
selected")
@@ -63,8 +46,9 @@ struct SideBarView: View {
.frame(maxWidth: sidebarWidth)
}
}
- .buttonStyle(.bordered)
- .font(.title)
+ .padding()
+ .buttonStyle(.borderless)
+ .font(.title2)
.disabled(i == currentView)
.accessibilityHidden(i == currentView) // don't
suggest the current item
}
diff --git a/TalerWallet1/Views/Peer2peer/SendAmount.swift
b/TalerWallet1/Views/Peer2peer/SendAmount.swift
index c5d152d..52c1367 100644
--- a/TalerWallet1/Views/Peer2peer/SendAmount.swift
+++ b/TalerWallet1/Views/Peer2peer/SendAmount.swift
@@ -61,7 +61,7 @@ struct SendAmount: View {
summary: $summary,
expireDays: $expireDays)
}) {
- Text("To another wallet")
+ Text("Next")
} .buttonStyle(TalerButtonStyle(type: .prominent))
.disabled(disabled)
Spacer()
diff --git a/TalerWallet1/Views/Peer2peer/SendPurpose.swift
b/TalerWallet1/Views/Peer2peer/SendPurpose.swift
index 463d79c..40f5ef1 100644
--- a/TalerWallet1/Views/Peer2peer/SendPurpose.swift
+++ b/TalerWallet1/Views/Peer2peer/SendPurpose.swift
@@ -35,19 +35,35 @@ struct SendPurpose: View {
VStack(alignment: .leading, spacing: 6) {
Text("Purpose:")
.padding(.top)
- .font(.title3)
+ .font(.title2)
- TextField("Purpose", text: $summary)
- .font(.title)
- .foregroundColor(WalletColors().fieldForeground) //
text color
- .background(WalletColors().fieldBackground)
- .border(.primary)
- .focused($isFocused)
- .onAppear {
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
- isFocused = true // make first responder -
raise keybord
+ if #available(iOS 16.0, *) {
+ TextField("Purpose", text: $summary)
+ .font(.title2)
+ .lineLimit(2...)
+ .foregroundColor(WalletColors().fieldForeground)
// text color
+ .background(WalletColors().fieldBackground)
+ .border(.primary)
+ .focused($isFocused)
+ .onAppear {
+ DispatchQueue.main.asyncAfter(deadline: .now() +
0.4) {
+ isFocused = true // make first
responder - raise keybord
+ }
+ }
+ } else {
+ TextField("Purpose", text: $summary)
+ .font(.title)
+// .lineLimit(2...5) // lineLimit' is only available
in iOS 16.0 or newer
+ .foregroundColor(WalletColors().fieldForeground)
// text color
+ .background(WalletColors().fieldBackground)
+ .border(.primary)
+ .focused($isFocused)
+ .onAppear {
+ DispatchQueue.main.asyncAfter(deadline: .now() +
0.4) {
+ isFocused = true // make first
responder - raise keybord
+ }
}
- }
+ }
HStack{
Spacer()
@@ -80,7 +96,7 @@ struct SendPurpose: View {
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.horizontal)
}
- .navigationTitle("To another Wallet")
+ .navigationTitle("Purpose")
.background(WalletColors().backgroundColor.edgesIgnoringSafeArea(.all))
.onAppear {
DebugViewC.shared.setViewID(VIEW_SEND_PURPOSE)
diff --git a/TalerWallet1/Views/Transactions/ManualDetails.swift
b/TalerWallet1/Views/Transactions/ManualDetails.swift
index b788072..8172254 100644
--- a/TalerWallet1/Views/Transactions/ManualDetails.swift
+++ b/TalerWallet1/Views/Transactions/ManualDetails.swift
@@ -28,7 +28,7 @@ struct ManualDetails: View {
.disabled(false)
} .padding(.leading)
.listRowSeparator(.hidden)
- Text("Step 2: If you dont already have it in your banking
favourites list, then copy and paste this IBAN into the receiver IBAN field in
your banking app or website:")
+ Text("Step 2: If you don't already have it in your banking
favourites list, then copy and paste this IBAN into the receiver IBAN field in
your banking app or website:")
.multilineTextAlignment(.leading)
.listRowSeparator(.hidden)
HStack {
diff --git a/TalerWallet1/Views/WithdrawBankIntegrated/WithdrawURIView.swift
b/TalerWallet1/Views/WithdrawBankIntegrated/WithdrawURIView.swift
index ec29e4c..4ddeff0 100644
--- a/TalerWallet1/Views/WithdrawBankIntegrated/WithdrawURIView.swift
+++ b/TalerWallet1/Views/WithdrawBankIntegrated/WithdrawURIView.swift
@@ -56,7 +56,7 @@ struct WithdrawURIView: View {
}.buttonStyle(TalerButtonStyle(type: .prominent))
.padding()
} else {
- Text("You must accept the Terms of Service first before
you can withdraw electronic cash to your wallet.")
+ Text("You must accept the Exchange's Terms of Service
first before you can use it to withdraw electronic cash to your wallet.")
.multilineTextAlignment(.leading)
.padding()
NavigationLink(destination: LazyView {
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-taler-ios] branch master updated: UI improvements,
gnunet <=