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.
103 lines
4.2 KiB
103 lines
4.2 KiB
//
|
|
// 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
|
|
sendMoneyViewController.setupTabItem()
|
|
let _ = sendMoneyViewController.view
|
|
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
|
|
profileViewController.setupTabItem()
|
|
let _ = profileViewController.view
|
|
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.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()
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|