You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

81 lines
2.9 KiB

//
// 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)
// }
// }
}