|
|
// // InviteUserViewController.swift // GME Remit // // Created by Armaan Shrestha on 21/08/2022. //Copyright © 2022 Gobal Money Express Co. Ltd. All rights reserved. //
import UIKit
class InviteUserViewController: UIViewController { let inviteView = InviteView() let referralView = ReferralView() // MARK: Properties var presenter: InviteUserModuleInterface? // MARK: IBOutlets @IBOutlet weak var backgroundView: UIView! @IBOutlet weak var viewPagerContainer: UIView! @IBOutlet weak var rewardPointTitleLabel: UILabel! @IBOutlet weak var rewardPointLabel: UILabel! lazy var viewPager: ViewPager = { // 1 let viewPager = ViewPager( tabSizeConfiguration: .fillEqually(height: 40, spacing: 0) ) // 3 viewPager.tabbedView.tabs = [ AppTabItemView(title: "title_invite_txt".localized(), icon: ""), AppTabItemView(title: "title_referral_text".localized(), icon: "") ] viewPager.pagedView.pages = [ inviteView, referralView ] viewPager.translatesAutoresizingMaskIntoConstraints = false return viewPager }() // MARK: VC's Life cycle override func viewDidLoad() { super.viewDidLoad() self.setup() self.title = "Reward Points" } // MARK: IBActions // MARK: Other Functions private func setup() { // all setup should be done here inviteView.copyReferalCodeAction = { self.copyReferalCode() } inviteView.shareReferalCodeAction = { self.shareCode() } setupView() presenter?.fetchData() } func setupView() { backgroundView.backgroundColor = .themeMixedRed backgroundView.set(cornerRadius: 12) viewPagerContainer.set(cornerRadius: 12) viewPagerContainer.layer.addShadow(with: UIColor.themeText) viewPager.set(cornerRadius: 12) rewardPointTitleLabel.text = "rewards_points_available_text".localized() self.view.addSubview(viewPager) NSLayoutConstraint.activate([ viewPager.topAnchor.constraint(equalTo: self.viewPagerContainer.topAnchor), viewPager.leadingAnchor.constraint(equalTo: self.viewPagerContainer.leadingAnchor), viewPager.trailingAnchor.constraint(equalTo: self.viewPagerContainer.trailingAnchor), viewPager.bottomAnchor.constraint(equalTo: self.viewPagerContainer.bottomAnchor) ]) } func copyReferalCode() { let referralCode = GMEDB.shared.user.string(.referralCode) UIPasteboard.general.string = referralCode self.showToast(message: "Code copied to Clipboard", font: .systemFont(ofSize: 12.0)) } func shareCode() { let referralCode = GMEDB.shared.user.string(.referralCode) // let myWebsite = NSURL(string:"https://jmeremit.page.link/?invite=\(referralCode)") ////// let shareAll = [text , image! , myWebsite] // let activityViewController = UIActivityViewController(activityItems: [myWebsite], applicationActivities: nil) // activityViewController.popoverPresentationController?.sourceView = self.view // self.present(activityViewController, animated: true, completion: nil) if let name = URL(string: "https://jmeremit.page.link/?invite=\(referralCode!)"), !name.absoluteString.isEmpty { let objectsToShare = [name] let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) self.present(activityVC, animated: true, completion: nil) } else { // show alert for not available } } }
// MARK: InviteUserViewInterface extension InviteUserViewController: InviteUserViewInterface { func progress(isShow: Bool) { if isShow { self.showProgressHud() } else { self.hideProgressHud() } } func obtained(data: ReferralModel) { inviteView.data = data referralView.data = data.details rewardPointLabel.text = data.rewardMoney } func obtained(error: String) { self.gmeAlert(message: error) } }
|