From 4fb264b76ae3bc00fd18e40558ae2211f3cc3f4b Mon Sep 17 00:00:00 2001 From: Matthew <6657488+reez@users.noreply.github.com> Date: Thu, 8 Feb 2024 19:38:28 -0600 Subject: [PATCH] ui: textfield trim whitespace and new lines --- .../Bitcoin/SendBitcoinViewModel.swift | 6 +++++- .../Channel/ChannelAddViewModel.swift | 18 +++++++++++++++--- .../Lightning/Peer/PeerViewModel.swift | 12 ++++++++++-- .../Lightning/Receive/ReceiveViewModel.swift | 6 +++++- .../Lightning/Send/SendViewModel.swift | 6 +++++- .../View/Bitcoin/SendBitcoinView.swift | 1 + 6 files changed, 41 insertions(+), 8 deletions(-) diff --git a/LDKNodeMonday/View Model/Bitcoin/SendBitcoinViewModel.swift b/LDKNodeMonday/View Model/Bitcoin/SendBitcoinViewModel.swift index e271173..28b4857 100644 --- a/LDKNodeMonday/View Model/Bitcoin/SendBitcoinViewModel.swift +++ b/LDKNodeMonday/View Model/Bitcoin/SendBitcoinViewModel.swift @@ -10,7 +10,11 @@ import SwiftUI class SendBitcoinViewModel: ObservableObject { let spendableBalance: String - @Published var address: String = "" + @Published var address: String = "" { + didSet { + address = address.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var txId: String = "" @Published var sendViewError: MondayError? @Published var networkColor = Color.gray diff --git a/LDKNodeMonday/View Model/Lightning/Channel/ChannelAddViewModel.swift b/LDKNodeMonday/View Model/Lightning/Channel/ChannelAddViewModel.swift index 3f68f7a..a9db170 100644 --- a/LDKNodeMonday/View Model/Lightning/Channel/ChannelAddViewModel.swift +++ b/LDKNodeMonday/View Model/Lightning/Channel/ChannelAddViewModel.swift @@ -9,11 +9,23 @@ import LDKNode import SwiftUI class ChannelAddViewModel: ObservableObject { - @Published var address: String = "" - @Published var channelAmountSats: String = "" + @Published var address: String = "" { + didSet { + address = address.trimmingCharacters(in: .whitespacesAndNewlines) + } + } + @Published var channelAmountSats: String = "" { + didSet { + channelAmountSats = channelAmountSats.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var channelAddViewError: MondayError? @Published var networkColor = Color.gray - @Published var nodeId: PublicKey = "" + @Published var nodeId: PublicKey = "" { + didSet { + nodeId = nodeId.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var isOpenChannelFinished: Bool = false @Published var isProgressViewShowing: Bool = false diff --git a/LDKNodeMonday/View Model/Lightning/Peer/PeerViewModel.swift b/LDKNodeMonday/View Model/Lightning/Peer/PeerViewModel.swift index 8d50692..9baa133 100644 --- a/LDKNodeMonday/View Model/Lightning/Peer/PeerViewModel.swift +++ b/LDKNodeMonday/View Model/Lightning/Peer/PeerViewModel.swift @@ -9,10 +9,18 @@ import LDKNode import SwiftUI class PeerViewModel: ObservableObject { - @Published var address: String = "" + @Published var address: String = "" { + didSet { + address = address.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var peerViewError: MondayError? @Published var networkColor = Color.gray - @Published var nodeId: PublicKey = "" + @Published var nodeId: PublicKey = "" { + didSet { + nodeId = nodeId.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var isProgressViewShowing: Bool = false func connect( diff --git a/LDKNodeMonday/View Model/Lightning/Receive/ReceiveViewModel.swift b/LDKNodeMonday/View Model/Lightning/Receive/ReceiveViewModel.swift index eee1c06..b291785 100644 --- a/LDKNodeMonday/View Model/Lightning/Receive/ReceiveViewModel.swift +++ b/LDKNodeMonday/View Model/Lightning/Receive/ReceiveViewModel.swift @@ -9,7 +9,11 @@ import LDKNode import SwiftUI class ReceiveViewModel: ObservableObject { - @Published var amountMsat: String = "" + @Published var amountMsat: String = "" { + didSet { + amountMsat = amountMsat.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var invoice: Bolt11Invoice = "" @Published var receiveViewError: MondayError? @Published var networkColor = Color.gray diff --git a/LDKNodeMonday/View Model/Lightning/Send/SendViewModel.swift b/LDKNodeMonday/View Model/Lightning/Send/SendViewModel.swift index 0185c33..957623e 100644 --- a/LDKNodeMonday/View Model/Lightning/Send/SendViewModel.swift +++ b/LDKNodeMonday/View Model/Lightning/Send/SendViewModel.swift @@ -9,7 +9,11 @@ import LDKNode import SwiftUI class SendViewModel: ObservableObject { - @Published var invoice: PublicKey = "" + @Published var invoice: PublicKey = "" { + didSet { + invoice = invoice.trimmingCharacters(in: .whitespacesAndNewlines) + } + } @Published var networkColor = Color.gray @Published var parseError: MondayError? diff --git a/LDKNodeMonday/View/Bitcoin/SendBitcoinView.swift b/LDKNodeMonday/View/Bitcoin/SendBitcoinView.swift index 6460f54..9ff0980 100644 --- a/LDKNodeMonday/View/Bitcoin/SendBitcoinView.swift +++ b/LDKNodeMonday/View/Bitcoin/SendBitcoinView.swift @@ -91,6 +91,7 @@ struct SendBitcoinView: View { TextField("1BvBMSEYstWet...m4GFg7xJaNVN2", text: $viewModel.address) .truncationMode(.middle) .padding(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 32)) + if !viewModel.address.isEmpty { HStack {