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