Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improved language switching, fixed transparent navigation bar bug #179

Merged
merged 5 commits into from
Jan 18, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions loafwallet.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,13 @@
24D91D0B2166923E0077A619 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24D91D0A2166923E0077A619 /* UserNotifications.framework */; };
24DFCE6823B89CDE001F17F8 /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 24DFCE6723B89CDE001F17F8 /* Settings.storyboard */; };
375DDB3F2697C253005E2B27 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 375DDB3D2697C253005E2B27 /* GoogleService-Info.plist */; };
584E24F32951C11A005E0E8B /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24F22951C119005E0E8B /* Localization.swift */; };
584E24F52951D2DC005E0E8B /* BundleExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24F42951D2DB005E0E8B /* BundleExtension.swift */; };
584E24F82951D412005E0E8B /* LanguageSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24F72951D412005E0E8B /* LanguageSelectionViewController.swift */; };
584E24FA2951D43A005E0E8B /* LanguageSelectionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24F92951D43A005E0E8B /* LanguageSelectionViewModel.swift */; };
584E24FC2951D476005E0E8B /* NSNotificationNameExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24FB2951D476005E0E8B /* NSNotificationNameExtension.swift */; };
584E24FE2951D752005E0E8B /* UITableViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E24FD2951D752005E0E8B /* UITableViewExtension.swift */; };
584E25012951DAAA005E0E8B /* LanguageSelectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584E25002951DAAA005E0E8B /* LanguageSelectionTests.swift */; };
7503773D1DF57428005EB8AE /* WalletManager+Auth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7503773C1DF57428005EB8AE /* WalletManager+Auth.swift */; };
751734B91DAC941E00193C87 /* sec-sub-1.c in Sources */ = {isa = PBXBuildFile; fileRef = 755CD8BE1DAA16820075898E /* sec-sub-1.c */; };
752438751DAAC50800844BEC /* alloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 755CD6761DAA0E400075898E /* alloc.c */; };
Expand Down Expand Up @@ -798,6 +805,13 @@
24D91D0D2166A5480077A619 /* TestnetData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestnetData.swift; sourceTree = "<group>"; };
24DFCE6723B89CDE001F17F8 /* Settings.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = "<group>"; };
375DDB3D2697C253005E2B27 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
584E24F22951C119005E0E8B /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
584E24F42951D2DB005E0E8B /* BundleExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleExtension.swift; sourceTree = "<group>"; };
584E24F72951D412005E0E8B /* LanguageSelectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageSelectionViewController.swift; sourceTree = "<group>"; };
584E24F92951D43A005E0E8B /* LanguageSelectionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageSelectionViewModel.swift; sourceTree = "<group>"; };
584E24FB2951D476005E0E8B /* NSNotificationNameExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSNotificationNameExtension.swift; sourceTree = "<group>"; };
584E24FD2951D752005E0E8B /* UITableViewExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITableViewExtension.swift; sourceTree = "<group>"; };
584E25002951DAAA005E0E8B /* LanguageSelectionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageSelectionTests.swift; sourceTree = "<group>"; };
7503773C1DF57428005EB8AE /* WalletManager+Auth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "WalletManager+Auth.swift"; path = "src/WalletManager+Auth.swift"; sourceTree = "<group>"; };
7528D2971ECF655500925DBC /* PaymentProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PaymentProtocol.swift; path = src/PaymentProtocol.swift; sourceTree = "<group>"; };
752FB03B1DF8BE4B009086FB /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2096,6 +2110,7 @@
2465873723A5AAD100A32E9E /* loafwalletTests */ = {
isa = PBXGroup;
children = (
584E24FF2951DA97005E0E8B /* Language Selection Tests */,
C3EFA9A42651A7C4005C59B5 /* Lock Screen Tests */,
C3188E3126445E5E0008ADD1 /* File Tests */,
C3B7C3EC255FF56100E98A64 /* Constants Tests */,
Expand Down Expand Up @@ -2171,6 +2186,23 @@
name = Buy;
sourceTree = "<group>";
};
584E24F62951D400005E0E8B /* LanguageSelection */ = {
isa = PBXGroup;
children = (
584E24F72951D412005E0E8B /* LanguageSelectionViewController.swift */,
584E24F92951D43A005E0E8B /* LanguageSelectionViewModel.swift */,
);
name = LanguageSelection;
sourceTree = "<group>";
};
584E24FF2951DA97005E0E8B /* Language Selection Tests */ = {
isa = PBXGroup;
children = (
584E25002951DAAA005E0E8B /* LanguageSelectionTests.swift */,
);
path = "Language Selection Tests";
sourceTree = "<group>";
};
755CD3831DAA0E3E0075898E /* unbound */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -3122,6 +3154,7 @@
CE20C8EF1DBAF6D300C8397A /* ViewControllers */ = {
isa = PBXGroup;
children = (
584E24F62951D400005E0E8B /* LanguageSelection */,
24313C8F23823D8500A83F69 /* Main */,
24313C8E23823C5D00A83F69 /* PaperPhrase */,
24313C8D23823C2B00A83F69 /* Pin */,
Expand Down Expand Up @@ -3198,6 +3231,9 @@
CE1280F51EEA855C00D27649 /* Date+Additions.swift */,
CEC4CF081F0C84AB00E5C82E /* UIViewController+Alerts.swift */,
CE47A8DF1F7DA54000FF35BA /* UIScreen+Additions.swift */,
584E24F42951D2DB005E0E8B /* BundleExtension.swift */,
584E24FB2951D476005E0E8B /* NSNotificationNameExtension.swift */,
584E24FD2951D752005E0E8B /* UITableViewExtension.swift */,
);
name = Extensions;
sourceTree = "<group>";
Expand Down Expand Up @@ -3306,6 +3342,7 @@
24B8FADE2163C4D400A155B1 /* Currency.swift */,
24313C732381E73200A83F69 /* TransactionManager.swift */,
24470E4623A6B6E900ADDA27 /* MockSeeds.swift */,
584E24F22951C119005E0E8B /* Localization.swift */,
);
name = Models;
sourceTree = "<group>";
Expand Down Expand Up @@ -3922,6 +3959,7 @@
24470E4223A6007200ADDA27 /* WalletInfoTest.swift in Sources */,
24470E2123A5DA9700ADDA27 /* APIManagerTests.swift in Sources */,
24470E3423A5F5E600ADDA27 /* PaymentRequestTests.swift in Sources */,
584E25012951DAAA005E0E8B /* LanguageSelectionTests.swift in Sources */,
24470E2E23A5F4FF00ADDA27 /* BRCoderTests.swift in Sources */,
2494037623AD35C000369261 /* BuyWKWebVCTests.swift in Sources */,
24470E3223A5F5B100ADDA27 /* NSDataExtensionTests.swift in Sources */,
Expand Down Expand Up @@ -4091,6 +4129,7 @@
CE8644251F2C160200033129 /* ConfirmationViewController.swift in Sources */,
CEE1F5631DF13E5A00D733AD /* ModalHeaderView.swift in Sources */,
CE5F21DB1E4A93A500C47B8E /* LoginTransitionDelegate.swift in Sources */,
584E24FA2951D43A005E0E8B /* LanguageSelectionViewModel.swift in Sources */,
CEE659E91F664C73001FF29D /* WelcomeViewController.swift in Sources */,
24313C8723821B8C00A83F69 /* PromptTableViewCell.swift in Sources */,
2228734F1E916FC30044BA15 /* BRAPIClient+Wallet.swift in Sources */,
Expand Down Expand Up @@ -4121,6 +4160,7 @@
CE8CD8E11E31976800785E02 /* LoginViewController.swift in Sources */,
C3F7BCDE25FEC6AD00694C28 /* AlertFailureView.swift in Sources */,
CEC6AA391DEE10BA00EE5AFD /* UINavigationController+Extension.swift in Sources */,
584E24FC2951D476005E0E8B /* NSNotificationNameExtension.swift in Sources */,
CECCE5B01E04AD7600D99448 /* DescriptionSendCell.swift in Sources */,
CE44BA1B1F33BFC500392A1A /* NodeSelectorViewController.swift in Sources */,
CE124D001E69170900DFA146 /* SyncingView.swift in Sources */,
Expand Down Expand Up @@ -4184,16 +4224,19 @@
C339752127001BEC0071FED6 /* EmailValidation.swift in Sources */,
CE5E6C941EB7964900A476DB /* WalletDisabledView.swift in Sources */,
CEF3E8341DE57166007C0A9E /* AnimatableIcon.swift in Sources */,
584E24F52951D2DC005E0E8B /* BundleExtension.swift in Sources */,
CEF61B161ED2056D00C7EA6A /* NumberFormatter+Additions.swift in Sources */,
CEF3E8321DE55540007C0A9E /* CheckView.swift in Sources */,
C3BD49C925954A1B00D97079 /* ForgotView.swift in Sources */,
CECCE5A91E0378FB00D99448 /* PinPadViewController.swift in Sources */,
584E24F32951C11A005E0E8B /* Localization.swift in Sources */,
C354C4632590059500675E0E /* TransactionsViewModel.swift in Sources */,
CEF3D2DB1E8B55C80070178E /* UISlider+Gradient.swift in Sources */,
C32DAE0725925B7E003FC978 /* Color+Extension.swift in Sources */,
C36DBF5F28F18D2C00FBCB24 /* LocalWebView.swift in Sources */,
CEC6AA4B1DEFD24C00EE5AFD /* MenuButtonType.swift in Sources */,
C3D471F7294337E700D9E415 /* CardWebViewController.swift in Sources */,
584E24FE2951D752005E0E8B /* UITableViewExtension.swift in Sources */,
24313C752381E73200A83F69 /* TransactionManager.swift in Sources */,
CE4CA7BC1EE3649100373F11 /* BRActivityView.swift in Sources */,
CEC6AA421DEFC88F00EE5AFD /* ReceiveViewController.swift in Sources */,
Expand Down Expand Up @@ -4273,6 +4316,7 @@
CE6DCC271E6108D50044257B /* EnterPhraseCell.swift in Sources */,
C3EFA9A3265080FF005C59B5 /* LockScreenHeaderViewModel.swift in Sources */,
CE760EDD1E561DF900EFAC2B /* UpdatePinViewController.swift in Sources */,
584E24F82951D412005E0E8B /* LanguageSelectionViewController.swift in Sources */,
24BA90C62410129E001E3825 /* FeeSelectorView.swift in Sources */,
CE9057181DFF0FA8006BA848 /* String+Additions.swift in Sources */,
CED341331EF5A5C00014912A /* InAppAlert.swift in Sources */,
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thought I .gitignored xcshareddata? @Iferencak . Is this a new setting? Should I migrate with it? Whats the benefit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly I'm not sure how this got tracked.. I didn't touch .gitignore 🤷

<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
12 changes: 12 additions & 0 deletions loafwallet/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate {

func application(_ application: UIApplication, didFinishLaunchingWithOptions _: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
{
UINavigationBar.appearance().tintColor = .darkText
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TYVM


if #available(iOS 15, *) {
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.titleTextAttributes = [.foregroundColor: UIColor.darkText]
UINavigationBar.appearance().standardAppearance = appearance
UINavigationBar.appearance().scrollEdgeAppearance = appearance
}

setFirebaseConfiguration()

updateCurrentUserLocale(localeId: Locale.current.identifier)
Expand All @@ -24,6 +34,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {

LWAnalytics.logEventWithParameters(itemName: ._20191105_AL)

Bundle.setLanguage(UserDefaults.selectedLanguage)

return true
}

Expand Down
46 changes: 46 additions & 0 deletions loafwallet/BundleExtension.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import Foundation

var _bundle: UInt8 = 0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love this solution. If I understand correctly, BundleEx does the heavy lifting of converting all the strings to the chosen language in a DQ? Its quite smooth

Only thing is I generally prefer guard let rather than forced unwrap.

Can we do :

guard let bundle = Bundle(path: Bundle.main.path(forResource: temp, ofType: "lproj") else {
	 LWAnalytics.logEvent(itemName: ._20200112_ERR)
return
}

Maybe it will never be called but it will help us sleep a little better.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure thing, looks like i missed it after I finished prototyping. On it.

class BundleEx: Bundle {
override func localizedString(forKey key: String, value: String?, table tableName: String?) -> String {
let bundle: Bundle? = objc_getAssociatedObject(self, &_bundle) as? Bundle

if let temp = bundle {
return temp.localizedString(forKey: key, value: value, table: tableName)
} else {
return super.localizedString(forKey: key, value: value, table: tableName)
}
}
}

public extension Bundle {
class func setLanguage(_ language: String?) {
let oneToken = "com.litecoin.loafwallet"

DispatchQueue.once(token: oneToken) {
object_setClass(Bundle.main, BundleEx.self as AnyClass)
}

if let temp = language {
objc_setAssociatedObject(Bundle.main, &_bundle, Bundle(path: Bundle.main.path(forResource: temp, ofType: "lproj")!), .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
} else {
objc_setAssociatedObject(Bundle.main, &_bundle, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}
}

extension DispatchQueue {
private static var _onceTracker = [String]()

class func once(token: String, block: () -> Void) {
objc_sync_enter(self); defer { objc_sync_exit(self) }

if _onceTracker.contains(token) {
return
}

_onceTracker.append(token)
block()
}
}
2 changes: 1 addition & 1 deletion loafwallet/BuyWKWebViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class BuyWKWebViewController: UIViewController, WKNavigationDelegate, WKScriptMe
@IBAction func didTapCurrentAddressButton(_: Any) {
UIPasteboard.general.string = currentWalletAddress
copiedLabel.alpha = 1
copiedLabel.text = S.Receive.copied
copiedLabel.text = S.Receive.copied.localize()
UIView.animate(withDuration: 2.0, delay: 0.1, options: .curveEaseInOut, animations: {
self.copiedLabel.alpha = 0.0
}, completion: nil)
Expand Down
20 changes: 10 additions & 10 deletions loafwallet/DataValidation.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ struct GenericStringValidator: ValidatorConvertible {
guard !value.isEmpty else { throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.empty) }
.empty.localize()) }
return value
}
}
Expand All @@ -47,12 +47,12 @@ struct MobileNumberValidator: ValidatorConvertible {
guard value != "" else { throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.empty) }
.empty.localize()) }

guard value.count >= 10 else { throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.numberDigitsRequired) }
.numberDigitsRequired.localize()) }
return value
}
}
Expand All @@ -70,7 +70,7 @@ struct RequiredFieldValidator: ValidatorConvertible {
throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.requiredField + fieldName)
.requiredField.localize() + fieldName)
}
return value
}
Expand All @@ -81,26 +81,26 @@ struct PasswordValidator: ValidatorConvertible {
guard value != "" else { throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.empty) }
.empty.localize()) }

guard value.count >= 6 else { throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.passwordCharacters) }
.passwordCharacters.localize()) }

do {
if try NSRegularExpression(pattern: "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{6,}$", options: .caseInsensitive).firstMatch(in: value, options: [], range: NSRange(location: 0, length: value.count)) == nil
{
throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.passwordComposition)
.passwordComposition.localize())
}
} catch {
throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.passwordComposition)
.passwordComposition.localize())
}
return value
}
Expand All @@ -114,13 +114,13 @@ struct EmailValidator: ValidatorConvertible {
throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.invalidEmail)
.invalidEmail.localize())
}
} catch {
throw ValidationError(S.LitecoinCard
.Registration
.ValidationError
.invalidEmail)
.invalidEmail.localize())
}
return value
}
Expand Down
4 changes: 2 additions & 2 deletions loafwallet/DomainResolutionFailure.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ struct DomainResolutionFailure {
case .unregisteredDomain, .unsupportedDomain,
.recordNotFound, .recordNotSupported,
.unspecifiedResolver:
return String(format: S.Send.UnstoppableDomains.lookupDomainError, 0)
return String(format: S.Send.UnstoppableDomains.lookupDomainError.localize(), 0)
default:
return String(format: S.Send.UnstoppableDomains.udSystemError, 10)
return String(format: S.Send.UnstoppableDomains.udSystemError.localize(), 10)
}
}
}
4 changes: 2 additions & 2 deletions loafwallet/FailedAlertView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ enum AlertFailureType {
var header: String {
switch self {
case .failedResolution:
return S.Send.UnstoppableDomains.lookupFailureHeader
return S.Send.UnstoppableDomains.lookupFailureHeader.localize()
}
}

var subheader: String {
switch self {
case .failedResolution:
return S.SecurityAlerts.resolvedSuccessSubheader
return S.SecurityAlerts.resolvedSuccessSubheader.localize()
}
}

Expand Down
18 changes: 9 additions & 9 deletions loafwallet/FeeSelectorView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class FeeSelector: UIView {
private let header = UILabel(font: .barlowMedium(size: 16.0), color: .darkText)
private let subheader = UILabel(font: .barlowRegular(size: 14.0), color: .grayTextTint)
private let feeMessageLabel = UILabel.wrapping(font: .barlowSemiBold(size: 14.0), color: .red)
private let control = UISegmentedControl(items: [S.FeeSelector.regular, S.FeeSelector.economy, S.FeeSelector.luxury])
private let control = UISegmentedControl(items: [S.FeeSelector.regular.localize(), S.FeeSelector.economy.localize(), S.FeeSelector.luxury.localize()])
private var bottomConstraint: NSLayoutConstraint?

private func setupViews() {
Expand Down Expand Up @@ -52,8 +52,8 @@ class FeeSelector: UIView {
feeMessageLabel.topAnchor.constraint(equalTo: control.bottomAnchor, constant: 4.0),
feeMessageLabel.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -C.padding[2]),
])
header.text = S.FeeSelector.title
subheader.text = S.FeeSelector.regularLabel
header.text = S.FeeSelector.title.localize()
subheader.text = S.FeeSelector.regularLabel.localize()
control.constrain([
control.leadingAnchor.constraint(equalTo: feeMessageLabel.leadingAnchor),
control.topAnchor.constraint(equalTo: subheader.bottomAnchor, constant: 4.0),
Expand All @@ -64,21 +64,21 @@ class FeeSelector: UIView {
switch myself.control.selectedSegmentIndex {
case 0:
myself.didUpdateFee?(.regular)
myself.subheader.text = S.FeeSelector.regularLabel
myself.subheader.text = S.FeeSelector.regularLabel.localize()
myself.feeMessageLabel.text = ""
case 1:
myself.didUpdateFee?(.economy)
myself.subheader.text = S.FeeSelector.economyLabel
myself.feeMessageLabel.text = S.FeeSelector.economyWarning
myself.subheader.text = S.FeeSelector.economyLabel.localize()
myself.feeMessageLabel.text = S.FeeSelector.economyWarning.localize()
myself.feeMessageLabel.textColor = .red
case 2:
myself.didUpdateFee?(.luxury)
myself.subheader.text = S.FeeSelector.luxuryLabel
myself.feeMessageLabel.text = S.FeeSelector.luxuryMessage
myself.subheader.text = S.FeeSelector.luxuryLabel.localize()
myself.feeMessageLabel.text = S.FeeSelector.luxuryMessage.localize()
myself.feeMessageLabel.textColor = .grayTextTint
default:
myself.didUpdateFee?(.regular)
myself.subheader.text = S.FeeSelector.regularLabel
myself.subheader.text = S.FeeSelector.regularLabel.localize()
myself.feeMessageLabel.text = ""
LWAnalytics.logEventWithParameters(itemName: ._20200112_ERR, properties: ["FEE_MANAGER": "DID_USE_DEFAULT"])
}
Expand Down
Loading