diff --git a/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/SetupRecipientViewController.swift b/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/SetupRecipientViewController.swift index 3e4e057b..aabaaab9 100644 --- a/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/SetupRecipientViewController.swift +++ b/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/SetupRecipientViewController.swift @@ -451,7 +451,7 @@ extension SetupRecipientViewController { textField.validCondition = { ($0.count >= min && $0.count <= max) } } - if !textField.titleText.contains("optional_hint_text") { + if !textField.titleText.contains("optional_hint_text".localized()) { textField.titleText += "optional_hint_text".localized() textField.placeholder = "\(textField.placeholder ?? "") \("optional_hint_text".localized())" } diff --git a/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/ViewModel/SetupRecipientViewModel.swift b/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/ViewModel/SetupRecipientViewModel.swift index 47d9ee2f..1c0508a6 100644 --- a/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/ViewModel/SetupRecipientViewModel.swift +++ b/GME Remit/Modules/RecipientModules/SetupRecipient/User Interface/View/ViewModel/SetupRecipientViewModel.swift @@ -275,6 +275,7 @@ extension SetupRecipientViewModel: SetupRecipientViewModelInterface { countryServicesLinker.onNext(model) guard let recipient = recipient else { return } + selectedRecipientLinker.onNext(recipient) // If exist selected recipient, auto select country and payment mode of selected recipient. @@ -332,6 +333,25 @@ extension SetupRecipientViewModel: SetupRecipientViewModelInterface { selectedPaymentModeTypesLinker.onNext(nil) paymentModeTypesLinker.onNext(model.availableServices ?? []) + + guard var selectedRecipient = try? selectedRecipientLinker.value() else { + return + } + + if model.countryCode != selectedRecipient.countryCode { + let countryEnum = CountryEnum(rawValue: selectedRecipient.countryCode?.lowercased() ?? "") + selectedRecipient.countryCode = model.countryCode + selectedRecipient.country = model.countryName + selectedRecipient.countryID = model.countryId + + selectedRecipient.mobile = selectedRecipient.mobile?.replacingOccurrences( + of: countryEnum?.phoneCode ?? "", + with: "" + ) + + selectedRecipientLinker.onNext(selectedRecipient) + } + case .paymentMode: guard let model = model as? PaymentServiceType else { return } selectedPaymentModeTypesLinker.onNext(model)