// // SettingViewController.swift // GMERemittance // // Created by Sujal on 2/18/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit import Localize_Swift class SettingViewController: UIViewController { struct StringConstants { var changePasswordText = "change_password_text".localized() var settingText = "setting_text".localized() var languageText = "language_text".localized() } var languages: [SendMoneyCountryViewModel] = [] var selectedLanguage: SendMoneyCountryViewModel? { didSet { let code = selectedLanguage?.code ?? "en" if code == "lk" { Localize.setCurrentLanguage("si") }else if code == "kh" { Localize.setCurrentLanguage("km") }else if code == "kr" { Localize.setCurrentLanguage("ko") }else if code == "mm" { Localize.setCurrentLanguage("my") }else if code == "bd" { Localize.setCurrentLanguage("bn") } else if code == "np" { Localize.setCurrentLanguage("ne") } else { Localize.setCurrentLanguage(code) } UserDefaults.standard.set(code, forKey: AppConstants.firstTimeLanguageIsSet) } } @IBOutlet weak var settingLabel: UILabel! @IBOutlet weak var changePasswordButton: UIButton! @IBOutlet weak var settingButton: UIButton! override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) setupLanguages() configureLanguage() } @objc func setText() { self.changePasswordButton.setTitle("change_password_text".localized(), for: .normal) self.settingButton.setTitle("language_text".localized(), for: .normal) } private func configureLanguage() { self.changePasswordButton.setTitle("change_password_text".localized(), for: .normal) self.settingButton.setTitle("language_text".localized(), for: .normal) } func setupLanguages() { self.languages = Utility.getLanguages() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.setupNormalNavigation() self.navigationItem.title = StringConstants().settingText } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) self.navigationItem.title = "" } @IBAction func redirectToChangePassword(_ sender: Any) { let storyboard = UIStoryboard.init(name: "Profile", bundle: Bundle.main) if let changePasswordViewController = storyboard.instantiateViewController(withIdentifier: "changePassword") as? ProfileChangePasswordViewController { self.navigationController!.pushViewController(changePasswordViewController, animated: true) } } @IBAction func settings(_ sender: Any) { self.showCountryPickerview() } @objc private func showCountryPickerview() { setupLanguages() let viewcontroller = UIStoryboard.init(name: "CountryPicker", bundle: nil).instantiateViewController(withIdentifier: "CountryPickerViewController") as! CountryPickerViewController let data: [SendMoneyCountryViewModel] = self.languages viewcontroller.isLanguageSelection = true viewcontroller.data = data viewcontroller.doneAction = self.countrySelected viewcontroller.type = PickerTitle.country self.present(viewcontroller, animated: true, completion: nil) } func countrySelected(models: [SendMoneyCountryViewModel]) { self.selectedLanguage = models.first } }