// // MainWireframe.swift // // // Created by shishir sapkota // import Foundation import UIKit class MainWireframe { static var shared: MainWireframe? = MainWireframe() weak var view: UIViewController! } extension MainWireframe: MainWireframeInput { var storyboardName: String {return "Main"} func getMainView() -> UIViewController { let viewController = MainViewController() let viewControllers: [UIViewController] = self.getViewControllers() viewController.setup(viewControllers: viewControllers) viewController.setupTabItem() self.view = viewController self.show(index: 0) // temporary return viewController } private func getViewControllers() -> [UIViewController] { let homeViewController = HomeWireframe().getMainView() let navHomeViewController = UINavigationController(rootViewController: homeViewController) // user send money view controller let sendMoneyViewController = UIStoryboard.init(name: "RecipientListViewController", bundle: nil).instantiateViewController(withIdentifier: "RecipientListViewController") as! RecipientListViewController let navSendMoneyViewController = UINavigationController(rootViewController: sendMoneyViewController) // Constacts view controller let contactsViewController = GmeContactsWireframe().getMainView() let navContactsViewController = UINavigationController(rootViewController: contactsViewController) // profile view controller let profileViewController = UIStoryboard.init(name: "Profile", bundle: nil).instantiateViewController(withIdentifier: "ProfileViewController") as! ProfileViewController let navProfileViewController = UINavigationController(rootViewController: profileViewController) return [navHomeViewController, navSendMoneyViewController, navContactsViewController, navProfileViewController] } func show(index: Int) { if let view = self.view as? MainViewController { view.selectedIndex = index } } static func logout() { guard let window = MainWireframe.shared?.window else {return} let store = UserDefaults.standard store.set(false, forKey: "com.gmeremit.loginStatus") store.removeObject(forKey: "com.gmeremit.dpUrl") store.removeObject(forKey: "com.gmeremit.walletNumber") store.removeObject(forKey: "com.gmeremit.bankName") store.removeObject(forKey: "com.gmeremit.fullName") store.removeObject(forKey: "com.gmeremit.username") store.removeObject(forKey: "com.gmeremit.nickName") store.removeObject(forKey: "com.gmeremit.balance") store.removeObject(forKey: "com.gmeremit.rewardPoint") store.removeObject(forKey: "com.gmeremit.isVerified") store.removeObject(forKey: "com.gmeremit.isKYCSubmitted") store.removeObject(forKey: "com.gmeremit.email") store.removeObject(forKey: "com.gmeremit.mobileNumber") store.removeObject(forKey: "com.gmeremit.password") store.removeObject(forKey: " com.gmeremit.isReferred") store.removeObject(forKey: " com.gmeremit.isReferred") // store.removeObject(forKey: UserKeys) store.removeObject(forKey: UserKeys.primaryAccountNumber) store.removeObject(forKey: UserKeys.primaryBankName) store.removeObject(forKey: UserKeys.province) store.removeObject(forKey: UserKeys.provinceId) store.removeObject(forKey: UserKeys.yearlyLimit) store.removeObject(forKey: UserKeys.availableBalance) store.removeObject(forKey: UserKeys.availableBalance) store.setValue(nil, forKey: UserKeys.accessCode) store.set(false, forKey: AppConstants.pennyTestPresentedOnce) let splaseWireframe = SplashScreenWireframe() let nav = UINavigationController.init(rootViewController: splaseWireframe.getMainView()) window.rootViewController = nav window.makeKeyAndVisible() } // func showStoreListing () { // if !self.isUserWireframe { // self.show(index: 1) // self.storeListWireframe.changeOrderType(alphabetic: false) // } // } }