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.
 
 
 
 

69 lines
2.4 KiB

//
// CustomTabItem.swift
// GME Remit
//
// Created by Dibya Malla Thakuri on 04/03/2023.
// Copyright © 2023 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
enum CustomTabItem: String, CaseIterable {
case home
case sendMoney
case profile
}
extension CustomTabItem {
var viewController: UIViewController {
switch self {
case .home:
let homeViewController = HomeWireframe().getMainView()
let navHomeViewController = SwipeNavigationController(rootViewController: homeViewController)
navHomeViewController.hero.isEnabled = true
return navHomeViewController
case .sendMoney:
let sendMoneyViewController = RecipientsWireframe().getMainView()
sendMoneyViewController.setupTabItem()
let navSendMoneyViewController = SwipeNavigationController(rootViewController: sendMoneyViewController)
navSendMoneyViewController.hero.isEnabled = true
return sendMoneyViewController
case .profile:
if let profileViewController = UIStoryboard(name: "Setting", bundle: nil)
.instantiateViewController(withIdentifier: "SettingViewController") as? SettingViewController {
profileViewController.setupTabItem()
let navProfileViewController = SwipeNavigationController(rootViewController: profileViewController)
return navProfileViewController
}
return UIViewController()
}
}
var icon: UIImage? {
switch self {
case .home:
return UIImage(named: "tab-home")?.withRenderingMode(.alwaysOriginal)
case .sendMoney:
return UIImage(named: "tab-contact")?.withRenderingMode(.alwaysOriginal)
case .profile:
return UIImage(systemName: "person.crop.circle")?.withRenderingMode(.alwaysOriginal)
}
}
var selectedIcon: UIImage? {
switch self {
case .home:
return UIImage(named: "tab-home-selected")?.withRenderingMode(.alwaysOriginal)
case .sendMoney:
return UIImage(named: "tab-contact-selected")?.withRenderingMode(.alwaysOriginal)
case .profile:
return UIImage(systemName: "person.crop.circle.fill")?.withRenderingMode(.alwaysOriginal)
}
}
}