// // MainWireframe.swift // Sipradi // // Created by bibek timalsina on 5/26/17. // Copyright © 2017 Ekbana. All rights reserved. // 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] { // home view controller let homeViewController = UIStoryboard.init(name: "Home", bundle: nil).instantiateViewController(withIdentifier: "Home") as! HomeViewController 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 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) // } // } }