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.
 
 
 
 

1502 lines
58 KiB

// HomeViewController.swift
// GMERemittance
//
// Created by Kushal on 12/11/17.
// Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
import Social
class _HomeViewController: UIViewController{
}
//extension _HomeViewController: TableViewCellDelegate, FBSDKSharingDelegate {
//
//}
// enum TableViewCells: Int {
// case balance = 0
// case collection = 1
// case status = 2
// case social = 3
// case loadMore = 4
// }
//
//
// private var isTopMenuVisible: Bool = false
// @IBOutlet weak var topMenuView: UIView!
// @IBOutlet weak var tableViewTopConstraint: NSLayoutConstraint!
//
// @IBOutlet weak var buttonMenuItem0: UIButton!
// @IBOutlet weak var buttonMenuItem1: UIButton!
// @IBOutlet weak var buttonMenuItem2: UIButton!
//
// @IBOutlet weak var labelMenuItem0: UILabel!
// @IBOutlet weak var labelMenuItem1: UILabel!
// @IBOutlet weak var labelMenuItem2: UILabel!
//
//
// private let homeviewmodel = HomeViewModel()
// private let socialfeedviewmodel = SocialFeedViewModel()
//// private let profileViewModel = ProfileViewModel()
// private let notificationviewmodel = NotificationViewModel()
//
// var page: Int = 0
// var size: Int = 20
//
// var sections: [TableViewCells] = [.balance, .collection, .status, .social, .loadMore]
//
// private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
// private let imagePicker = UIImagePickerController()
//
// var showAllCollectionViewCells: Bool?
// private let collectionViewItemsPerRow: CGFloat = 2
// private let insetForCollectionView: CGFloat = 5.0
// var numberCellsInCollectionView: Int?
// private var longPressGesture: UILongPressGestureRecognizer!
//
// private var collectionViewMenuIndexArray: [Int]!
//
//
// private var collectionViewMenuIconArray: [Int: String] = [0: "send-money", 1: "mobile-recharge", 2: "rate-today", 3: "track-transfer", 4: "transaction-statement", 5: "wallet-transfer", 6: "show-more"]
//
// private var collectionViewMenuNameArray: [Int: String] = [0: "Send Money", 1: "Mobile Recharge", 2: "Today's Rate", 3: "Track Your Transfer", 4: "Transaction Statement", 5: "Wallet to Wallet Transfer", 6: "More"]
//
// /* MORE Button is placed at the end of the array (position 7, index 6) and it is switched with the element at position 4 (index 3) when showing some/ all of the menu options */
//
// @IBOutlet weak var imageViewUserImage: UIImageView!
//
//
// @IBOutlet weak var tableView: UITableView!
//
// private var cell: TableViewCell!
//
// /*------ 0 => Text Status
// ------ 1 => Image Upload
// ------ 2 => Edit Status
// */
// private var statusUploadMode:Int? //IMAGE OR TEXT STATUS UPLOAD
//
// private var editablePostIndex: Int!
// private var selectedCell:Int? //SELECTED CELL
// private var selectedImage:UIImage? //EDIT IMAGE FOR REMOVE OR DELETE
// private var postStatus:String? //
// private var heartStatus:Bool?
// private var socialStatus:Bool?
// private var likeCount:Int?
//
//
// private var tappedIndex: Int?
//
// private var allowFetchRequest: Bool = true
// private var newFeedsWillBeAppended: Bool = false
//
// private var refreshControl: UIRefreshControl!
//
// private var arrayIndexPath = [IndexPath] ()
//
// private var showNotificationParameter: Bool = false
//
// private var editedIndex: Int!
//
// //--SETUP NAVBAR WHEN VIEW APPEARS PLUS RELOAD THE SOCIAL FEED WITH LOCAL DATA IF EXISTS
// override func viewWillAppear(_ animated: Bool) {
//
// editedIndex = nil
//
//
//// setUpAnotherLoginListener(genericviewmodel: socialfeedviewmodel)
// setUpAnotherLoginListener(genericviewmodel: profileViewModel)
//// setUpNetworkListener()
// super.viewWillAppear(true)
//
//
// self.tabBarController?.tabBar.isHidden = false
// setNavBar()
// setActionBarIcons(showNotificationParameter: true)
//
// bindUserStatusToUI()
//
// profileViewModel.fetchUserInfo(userId: nil)
//
//
// tableView.reloadSections(NSIndexSet(index: 3) as IndexSet, with: .none)
//
//
// if tappedIndex != nil {
// tableView.scrollToRow(at: IndexPath(row: tappedIndex!, section: 3), at: UITableViewScrollPosition.bottom, animated: true)
// }
// notificationBind()
// }
//
// override func viewWillDisappear(_ animated: Bool) {
// super.viewWillAppear(animated)
// self.navigationController?.navigationBar.topItem?.title = ""
// }
//
//
//
// func setUpRefreshControl() {
// refreshControl = UIRefreshControl()
//
// refreshControl.backgroundColor = UIColor(white: 0.98, alpha: 1.0)
// refreshControl.tintColor = UIColor.red
// refreshControl.addTarget(self, action: #selector(refresh(_:)), for: .valueChanged)
// tableView.addSubview(refreshControl)
// }
//
// @objc func refresh(_ sender: AnyObject) {
// newFeedsWillBeAppended = false
// }
//
//
// //--ALL NAV BAR FUNCTIONS HERE
// func setNavBar() {
// let selector = #selector(self.showSideMenu)
// self.setupPicturedNavBar(sideMenuAction: selector)
// }
//
// @objc func showSideMenu() {
//// performSegue(withIdentifier: "showSideMenu", sender: nil)
// sideMenuController?.showLeftViewAnimated()
// }
//
//
// func isVerifiedUser() -> Bool {
// let val = (UserDefaults.standard.object(forKey: UserKeys.verified) as? Bool ) ?? false
// print("value is")
// print(val)
// return val
// }
//
//
// /**
// Update User data in view
// */
//
// func bindUserStatusToUI() {
// profileViewModel.userDataAvailable.value = nil
//
// profileViewModel.userDataAvailable.bind{ [weak self] in
// guard $0 != nil else {
// return
// }
// if $0! {
////
//// let verified = UserDefaults.standard.object(forKey: UserKeys.verified) as! Bool
////
//// if !verified {
//// let isVerified = self?.profileViewModel.isVerified()
////
//// if isVerified! {
//// UserDefaults.standard.set(isVerified, forKey: UserKeys.verified)
//// }
//// }
////
//// UserDefaults.standard.set(self?.profileViewModel.getAvailableBalance(), forKey: "com.gmeremit.balance")
//// UserDefaults.standard.set(self?.profileViewModel.getRewardPoint(), forKey: "com.gmeremit.rewardPoint")
//// UserDefaults.standard.set(self?.profileViewModel.getWalletNumber(), forKey: "com.gmeremit.walletNumber")
////
//
// /// TABLE RELOADED
// self?.tableView.reloadData()
// }
//
// self?.profileViewModel.userDataAvailable.value = nil
//
// }
// }
//
// func notificationBind(){
// notificationviewmodel.fetchNotification(page: self.page, size: self.size)
//
// notificationviewmodel.notificationFetch.bind{ [weak self] in
// guard $0 != nil else {
// return
// }
//
// guard $0! else {
// //self?.popUpMessageError(value: 10, message: (self?.notificationviewmodel.getErrorMessage())!)
// return
// }
// //Update the view
//
// self?.enableUserInteractions()
//
// if self?.activityIndicator != nil {
// self?.dismissActivityIndicator(activityIndicator: (self?.activityIndicator)!)
// }
//
// if (self?.notificationviewmodel.showNotification())!{
// self?.showNotificationParameter = true
// self?.setActionBarIcons(showNotificationParameter: true)
// } else {
// self?.showNotificationParameter = false
// self?.setActionBarIcons(showNotificationParameter: false)
// }
// }
// }
//
//
// func registerCMUser() {
//
// let appDelegate = UIApplication.shared.delegate as! AppDelegate
// appDelegate.notificationSet.bind { [unowned self] in
// guard $0 != nil else {
// return
// }
// self.homeviewmodel.cmRegistrationId(cmRegistrationId: appDelegate.cmRegistrationId!)
// }
// }
//
//
// /**
// @developer : Suraj Shrestha
// @date : 2018/02/12
// @des : Add action bar icons i.e notification and support
// code refractored by ccr, almost maney many good things added. all bad things are left by previous dev :D
// */
// func setActionBarIcons(showNotificationParameter: Bool){
// let supportImage = UIImage(named: "ic_support")?.withRenderingMode(.alwaysOriginal)
// let supportButton = UIBarButtonItem(image:supportImage, style: .plain, target: self, action: #selector(showSupport))
// let notificationImage: UIImage!
// if showNotificationParameter {
// notificationImage = UIImage(named: "ic_notificationDot")?.withRenderingMode(.alwaysOriginal)
// } else {
// notificationImage = UIImage(named: "ic_notification")?.withRenderingMode(.alwaysOriginal)
// }
// let notificationButton = UIBarButtonItem(image: notificationImage, style: .plain, target: self, action: #selector(showNotification))
// self.navigationItem.rightBarButtonItems=[notificationButton,supportButton]
// }
//
// /**
// @developer : Suraj Shrestha
// @date : 2018/02/12
// @des : Show support actions
// */
// @objc func showSupport() {
// let alert = UIAlertController(title:nil, message:"We are there to help you \n (Available time 10:00AM - 6:00PM)", preferredStyle: .actionSheet)
// alert.view.subviews.last?.subviews.last?.backgroundColor = UIColor.darkGray
//
// let liveChat = UIAlertAction(title: "Live Chat", style: .default) {
// UIAlertAction in
// }
// let contactNumber = UIAlertAction(title: "1588 6864", style: .default) {
// UIAlertAction in
// self.startCall(contactNumber: "1588 6864")
// }
// let supportEmail = UIAlertAction(title: "support@gmeremit.com", style: .default) {
// UIAlertAction in
//
// let storyboard = UIStoryboard.init(name: "MessageCompose", bundle: Bundle.main)
// if let messageViewController = storyboard.instantiateViewController(withIdentifier: "message") as? MessageComposeViewController {
// self.navigationController!.pushViewController(messageViewController, animated: true)
// }
// }
//
// liveChat.setValue(UIImage(named:"ic_live_chat")?.withRenderingMode(.alwaysOriginal),forKey:"image")
// contactNumber.setValue(UIImage(named:"ic_call")?.withRenderingMode(.alwaysOriginal),forKey:"image")
// supportEmail.setValue(UIImage(named:"ic_email")?.withRenderingMode(.alwaysOriginal),forKey:"image")
//
// // TODO: have to enable when zendesk is provided
// // alert.addAction(liveChat)
// alert.addAction(contactNumber)
// alert.addAction(supportEmail)
// alert.view.tintColor = UIColor.red
//
// alert.view.subviews.last?.subviews.last?.layer.cornerRadius = 10
//
// alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil))
// present(alert, animated: true, completion: nil)
// }
//
//
// func startCall(contactNumber: String){
// if let url = URL(string: "tel://\(contactNumber.removeWhitespacesInBetween())"), UIApplication.shared.canOpenURL(url) {
// if #available(iOS 10, *) {
// UIApplication.shared.open(url)
// } else {
// UIApplication.shared.openURL(url)
// }
// }
// }
//
// @objc func showNotification(){
// performSegue(withIdentifier: "notification", sender: nil)
// }
//
// override func viewDidLoad() {
// super.viewDidLoad()
// setupDelegates()
// hideKeyboardWhenTappedAround()
// setUpRefreshControl()
// setNavBar()
//// setupNavigationNotifications()
//
//
// if !isVerifiedUser() {
//// self.alert(message: "Your document is in verification process. Thereafter you can enjoy GME online service. Thank you for registering with us!.")
// let message = "Your document is in verification process. Thereafter you can enjoy GME online service. Thank you for registering with us!."
// self.alertWithOkCancel(message: message, title: "Alert!", okAction: {
// // go to kyc
// if let navigation = self.navigationController {
// let wireframe = KycWireframe()
// wireframe.pushMainView(in: navigation)
// }
// }, cancelAction: nil)
// }
//
// if numberCellsInCollectionView == nil {
// numberCellsInCollectionView = 4
// }
//
// if showAllCollectionViewCells == nil {
// showAllCollectionViewCells = false
// }
//
// /* Checks if the user's custom menu is available or not */
// if let menuArray = UserDefaults.standard.array(forKey: "com.gmeremit.collectionViewMenuIndexArray") as? [Int] {
// collectionViewMenuIndexArray = menuArray
//
// /* While loading the app (but not from myStoryViewController), MORE button should be shown */
//
// if numberCellsInCollectionView == 4 {
// if collectionViewMenuIndexArray[3] != 6 {
// collectionViewMenuIndexArray.swapAt(3, 6)
// }
// } else if numberCellsInCollectionView == 6 {
// if collectionViewMenuIndexArray[3] == 6 {
// collectionViewMenuIndexArray.swapAt(3, 6)
// }
// }
//
// } else {
// collectionViewMenuIndexArray = [0, 1, 2, 6, 4, 5, 3]
// UserDefaults.standard.set(collectionViewMenuIndexArray, forKey: "com.gmeremit.collectionViewMenuIndexArray")
// }
//
// longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongGesture(gesture:)))
//
// imagePicker.delegate = self
//
// tableView.tableFooterView = UIView()
//
// registerCMUser()
//
// if UserDefaults.standard.bool(forKey: "com.gmeremit.showImageAlert") {
// self.addUserProfileImage()
// }
//
// }
//
// private func getAboutMeNotificationName() -> Notification.Name {
// return Notification.Name.init(SideMenuNavigationNotifications.aboutGme)
// }
//
// private func getSupportNotificationName() -> Notification.Name {
// return Notification.Name.init(SideMenuNavigationNotifications.support)
// }
//
// private func getSettingNotificationName() -> Notification.Name {
// return Notification.Name.init(SideMenuNavigationNotifications.setting)
// }
//
//
// @objc private func showSideMenuAboutGme() {
// let vc = UIStoryboard.init(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "AboutGMEViewController") as! AboutGMEViewController
// self.navigationController?.pushViewController(vc, animated: true)
// }
//
// @objc private func showSideMenuSetting() {
// let vc = UIStoryboard.init(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "SettingViewController") as! SettingViewController
// self.navigationController?.pushViewController(vc, animated: true)
// }
//
// @objc private func showSideMenuSupport() {
// let vc = UIStoryboard.init(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "SupportViewController") as! SupportViewController
// self.navigationController?.pushViewController(vc, animated: true)
// }
//
// private func setupDelegates() {
// tableView.delegate = self
// tableView.dataSource = self
// }
//
//
// override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// switch segue.identifier {
// case "statusUpdate"?:
// let statusUploadViewController = segue.destination as! StatusUploadViewController
// statusUploadViewController.statusUploadMode = statusUploadMode
// statusUploadViewController.editablePostIndex = editablePostIndex
// statusUploadViewController.socialfeedviewmodel = socialfeedviewmodel
// statusUploadViewController.showNotificationParameter = showNotificationParameter
// case "showLikedBy"?:
// let likedByViewController = segue.destination as! LikesViewController
// likedByViewController.socialfeedviewmodel = socialfeedviewmodel
// likedByViewController.tappedIndex = tappedIndex
// case "showCommentsBy"?:
// let commentsViewController = segue.destination as! CommentsViewController
// commentsViewController.socialfeedviewmodel = socialfeedviewmodel
// commentsViewController.tappedIndex = tappedIndex
// case "myStory"?:
// let myStoryViewController = segue.destination as! MyStoryViewController
// myStoryViewController.socialfeedviewmodel = socialfeedviewmodel
// myStoryViewController.showNotificationParameter = showNotificationParameter
//
// case "notification"?:
// let notificationViewController = segue.destination as! NotificationViewController
// notificationViewController.socialfeedviewmodel = socialfeedviewmodel
// default:
// return
// }
// }
//}
//
//
///*---------------ALL ACTIONS RELATED TO SOCIAL WALL HERE------------
//
// */
//
//extension _HomeViewController {
//
// //UPLOAD TEXT AS STATUS
// @objc func uploadTextStatus(_ sender: TableViewCell) {
//
// statusUploadMode = 0
// self.performSegue(withIdentifier: "statusUpdate", sender: nil)
// }
//
// //UPLOAD IMAGE AS STATUS
// @objc func uploadImageStatus(_ sender: TableViewCell) {
// statusUploadMode = 1
// self.performSegue(withIdentifier: "statusUpdate", sender: nil)
// }
//
// //DATA BINDING
// func bindFeedsDataToUI() {
//
// socialfeedviewmodel.socialFeedsRxValue.bind { [weak self] in
// guard $0 != nil, self?.socialfeedviewmodel != nil else {
// return
// }
// guard $0! != 0 else {
// //self.popUpMessageError(value: 10, message: self.socialfeedviewmodel.getErrorMessage())
// self?.socialfeedviewmodel.socialFeedsRxValue.value = nil
//
// return
//
// }
// switch $0! {
//
// case socialWallCode.fetchPostsPublic.rawValue:
// let count = self?.socialfeedviewmodel.getPublicSocialFeedsCount()
// if count! > 0 {
// if (self?.newFeedsWillBeAppended)! {
//
// self?.arrayIndexPath.removeAll()
//
// self?.tableView.beginUpdates()
// let currentCount = self?.socialfeedviewmodel.getCurrentlyFetchedFeedCount()
//
// for i in 0...(self?.socialfeedviewmodel.getCurrentlyFetchedFeedCount())!-1 {
// self?.arrayIndexPath.append(IndexPath.init(row: count! - currentCount! + i, section: 3))
// }
//
// self?.tableView.insertRows(at: (self?.arrayIndexPath)!, with: .automatic)
//
// self?.tableView.endUpdates()
//
//
// self?.tableView.cellForRow(at: IndexPath(row: 0, section: 4))?.isHidden = false
//
// } else {
//
// if (self?.refreshControl.isRefreshing)! {
// self?.refreshControl.endRefreshing()
// }
// self?.tableView.reloadSections(NSIndexSet(index: 3) as IndexSet, with: .none)
// self?.tableView.reloadSections(NSIndexSet(index: 4) as IndexSet, with: .none)
// }
// }
//
// case socialWallCode.deletePost.rawValue:
// self?.socialfeedviewmodel.removeSocialFeed(atIndex: (self?.tappedIndex!)!)
// self?.tableView.deleteRows(at: [IndexPath(item: (self?.tappedIndex!)!, section: 3)], with: .automatic)
//
// case socialWallCode.likeUnlikePost.rawValue:
// self?.socialfeedviewmodel.updateSocialFeedArrayLikeNumber(atIndex: (self?.tappedIndex!)!)
// self?.tableView.reloadRows(at: [IndexPath(item: (self?.tappedIndex!)!, section: 3)], with: UITableViewRowAnimation.automatic)
//
// case socialWallCode.reportPost.rawValue:
// self?.reportSendAlert()
//
// case socialWallCode.createUpdatePost.rawValue:
// self?.dismissActivityIndicator(activityIndicator: (self?.activityIndicator)!)
// self?.tableView.reloadSections(IndexSet(integer: 3), with: UITableViewRowAnimation.automatic)
//
// guard let index = self?.editedIndex else {
// return
// }
// self?.tableView.scrollToRow(at: IndexPath(row: index, section: 3), at: UITableViewScrollPosition.none, animated: false)
// self?.editedIndex = nil
//
// let alert = UIAlertController(title:"", message:"This post is made private." , preferredStyle: .actionSheet)
// self?.present(alert, animated: true, completion: nil)
// let when = DispatchTime.now() + 2
// DispatchQueue.main.asyncAfter(deadline: when){
// alert.dismiss(animated: true, completion: nil)
// }
//
// default:
// return
// }
// self?.socialfeedviewmodel.socialFeedsRxValue.value = nil
// }
//
// }
//
//
//
//
//
// /// loadBalance
// @objc func loadBalanceTap(_ sender: TableViewCell) {
// guard let navController = self.navigationController else { return }
//
// let popUpViewController = UIStoryboard(name: "_Home", bundle: nil).instantiateViewController(withIdentifier: "loadBalance") as! LoadBalanceViewController
//
// navController.addChildViewController(popUpViewController)
// popUpViewController.view.frame = navController.view.bounds
// navController.view.addSubview(popUpViewController.view)
// popUpViewController.didMove(toParentViewController: navController)
// }
//
//
// @objc func rewardTap(_ sender: TableViewCell) {
// let storyboard = UIStoryboard.init(name: "Reward", bundle: Bundle.main)
// let vController = storyboard.instantiateViewController(withIdentifier: "RewardViewController") as! RewardViewController
// self.navigationController!.pushViewController(vController, animated: true)
// }
//
// @objc func agentTap(_ sender: TableViewCell) {
// let storyboard = UIStoryboard.init(name: "_Home", bundle: Bundle.main)
// let vController = storyboard.instantiateViewController(withIdentifier: "PayoutViewController") as! PayoutViewController
// self.navigationController!.pushViewController(vController, animated: true)
//
// }
//
// @IBAction func showMyStories(_ sender: Any) {
// self.performSegue(withIdentifier: "myStory", sender: nil)
// }
//
// //DISPLAY FEEDS ON THE GME WALL
// func getTableViewCell(indexPath: IndexPath, socialFeed : SocialFeed, mode: Int) -> UITableViewCell {
//
// let cell: TableViewCell!
//
// switch mode {
// case 1:
// cell = tableView.dequeueReusableCell(withIdentifier: "socialCellText", for: indexPath) as! TableViewCell
// cell.labelStatus.text = socialFeed.feedText
// cell.labelStatus.textColor = UIColor(red:0.29, green:0.29, blue:0.29, alpha:1.0)
// case 2:
// cell = tableView.dequeueReusableCell(withIdentifier: "socialCellImage", for: indexPath) as! TableViewCell
// cell.imageViewSocial.sd_setImage(with: URL(string: socialFeed.feedImage!)!, placeholderImage: nil, options: [.progressiveDownload,.scaleDownLargeImages], completed: nil)
//
// cell.postImageHeight.constant = view.frame.width
//
// case 3:
//
// cell = tableView.dequeueReusableCell(withIdentifier: "socialCellTextImage", for: indexPath) as! TableViewCell
// cell.labelStatus.text = socialFeed.feedText
// cell.labelStatus.textColor = UIColor(red:0.29, green:0.29, blue:0.29, alpha:1.0)
// cell.imageViewSocial.sd_setImage(with: URL(string: socialFeed.feedImage!)!, placeholderImage: nil, options: [.progressiveDownload,.scaleDownLargeImages], completed: nil)
//
// cell.postImageHeight.constant = view.frame.width
//
// default:
// cell = tableView.dequeueReusableCell(withIdentifier: "socialCellTextImage", for: indexPath) as! TableViewCell
// }
//
// cell.layer.borderColor = UIColor(red:0.91, green:0.93, blue:0.95, alpha:1.0).cgColor
// cell.layer.borderWidth = 2
// cell.imageViewUserImage.layer.cornerRadius = cell.imageViewUserImage.frame.height / 2
//
// cell.viewSocialActionConstraint.constant = 58.5
// cell.imageViewUserImage.layer.cornerRadius = cell.imageViewUserImage.frame.height / 2
//
// cell.editPostButton?.addTarget(self, action:#selector(showPostOptions(_:)), for:.touchUpInside)
// cell.heartButton?.addTarget(self, action:#selector(toggleLike(_:)), for:.touchUpInside)
// cell.likeButton?.addTarget(self, action:#selector(showLikes(_:)), for:.touchUpInside)
// cell.commentButton?.addTarget(self, action: #selector(showComments(_:)), for: .touchUpInside)
//
// //Display USERNAME who has posted the feed
// cell.labelSocialUsername.text = socialfeedviewmodel.getFullName(feed: socialFeed)
//
// //Display USER IMAGE
// cell.labelUserNameInitial.isHidden = false
// cell.labelUserNameInitial.backgroundColor = UIColor(hex: 0x2e3192)
// cell.labelUserNameInitial.layer.cornerRadius = cell.labelUserNameInitial.frame.height / 2
// cell.labelUserNameInitial.text = socialFeed.firstName.prefix(1).uppercased()
//
// if let userDpString = socialFeed.userDpUrl {
// if let userDpUrl = URL(string: userDpString) {
// cell.imageViewUserImage.isHidden = false
//
// cell.imageViewUserImage.sd_setImage(with: userDpUrl, placeholderImage: nil, options: [.progressiveDownload,.scaleDownLargeImages], completed: nil)
// }
// cell.labelUserNameInitial.isHidden = true
// }
//
// //Display timeStamp (ago date)
// cell.labelTimeStamp.text = socialFeed.agoDate
//
// //Display LIKE status
// if socialFeed.liked {
// cell.heartButton?.setImage(UIImage(named:"ic_heartfull"), for: UIControlState.normal)
// }
// else {
// cell.heartButton?.setImage(UIImage(named:"ic_heart"), for: UIControlState.normal)
// }
//
// //Display total number of LIKES
// if socialFeed.totalLike > 1 {
// cell.likeButton.setTitle("\(socialFeed.totalLike) Likes", for:UIControlState.normal)
// }
// else {
// cell.likeButton.setTitle("\(socialFeed.totalLike) Like", for:UIControlState.normal)
// }
//
// //Display total number of COMMENTS
// if socialFeed.totalComment > 1 {
// cell.commentButton.setTitle(" \(socialFeed.totalComment) Comments", for: UIControlState.normal)
// }
// else {
// cell.commentButton.setTitle(" \(socialFeed.totalComment) Comment", for: UIControlState.normal)
// }
// return cell
// }
//
// /**
// To determine the specific cell for edit the post
// */
// @objc func showPostOptions(_ sender: TableViewCell) {
// guard let clickedCell = sender.superview?.superview?.superview as? TableViewCell else {
// return
// }
// if let clickedCellIndexPath = tableView.indexPath(for: clickedCell) {
//
// enumeratePostOptions(index: clickedCellIndexPath.row)
// }
// }
//
// /**
// Alert message for current user
// */
// func enumeratePostOptions(index: Int) {
// let alert = UIAlertController(title:nil, message:nil, preferredStyle: .actionSheet)
//
// if self.socialfeedviewmodel.postBelongsToMe(postIndex: index) {
//
// let edit = UIAlertAction(title: "Edit this post", style: .default) {
// UIAlertAction in
// self.statusUploadMode = 2
// self.editablePostIndex = index
// self.performSegue(withIdentifier: "statusUpdate", sender: nil)
//
// }
//
// let delete = UIAlertAction(title: "Delete this post", style: .default) {
// UIAlertAction in
//
// self.deleteConfirmation(postIndex: index)
// }
//
// let moveToPrivate = UIAlertAction(title: "Hide this post from GME Community", style: .default) {
// UIAlertAction in
//
//// self.tappedIndex = index
//
// let feedToEdit = self.socialfeedviewmodel.getSocialFeedAt(index: index)
//
// if let feedText = feedToEdit.feedText {
// self.socialfeedviewmodel.updateFeedText(text: feedText)
// }
// if let feedImageId = feedToEdit.feedImageId {
// self.socialfeedviewmodel.setFeedImageId(imageId: feedImageId)
// }
//
// self.editedIndex = index
// self.showActivityIndicator(activityIndicator: self.activityIndicator)
// self.socialfeedviewmodel.updateSocialFeed(feed: feedToEdit, index: index, toggle: true)
// }
//
// let cancel = UIAlertAction(title: "Cancel", style: .destructive) {
// UIAlertAction in
// }
//
// alert.addAction(moveToPrivate)
// alert.addAction(edit)
// alert.addAction(delete)
// alert.addAction(cancel)
//
// } else {
// let report = UIAlertAction(title: "Report", style: .default) {
// UIAlertAction in
// self.reportAlert(postIndex: index)
// }
//
// let share = UIAlertAction(title: "Share this post", style: .default) {
// UIAlertAction in
// if self.socialfeedviewmodel.getSocialFeedAt(index: index).feedImageId == nil{
// self.sharePost(postIndex: index)
// }
// }
//
// let cancel = UIAlertAction(title: "Cancel", style: .destructive) {
// UIAlertAction in
// }
//
// alert.addAction(report)
// if self.socialfeedviewmodel.getSocialFeedAt(index: index).feedImageId == nil{
// alert.addAction(share)
// }
// alert.addAction(cancel)
// }
// present(alert, animated: true, completion: nil)
// }
//
// /**
// Share the status of GME app to facebook
// */
//
// func sharePost(postIndex: Int){
//
// let content = FBSDKShareLinkContent()
// content.contentURL = URL(string: "https://itunes.apple.com/us/app/gme/id1366910197?ls=1&mt=8")
// // content.hashtag = FBSDKHashtag(string: "#FeelingGood")
//
// if let shareText = self.socialfeedviewmodel.getSocialFeedAt(index: postIndex).feedText{
// content.quote = shareText
// }
// let dialog = FBSDKShareDialog()
// dialog.fromViewController = self
//
// dialog.shareContent = content
//
// dialog.delegate = self
// if !dialog.canShow() {
// dialog.mode = FBSDKShareDialogMode.native
// }
// dialog.show()
//
// }
//
// func sharer(_ sharer: FBSDKSharing!, didCompleteWithResults results: [AnyHashable : Any]!) {
//
// }
//
// func sharer(_ sharer: FBSDKSharing!, didFailWithError error: Error!) {
//
// }
//
// func sharerDidCancel(_ sharer: FBSDKSharing!) {
//
// }
//
//
//
//
// func deleteConfirmation(postIndex: Int) {
// let alert = UIAlertController(title: nil, message: "Are you sure you want to delete?", preferredStyle: .actionSheet)
// let cancel = UIAlertAction(title: "Cancel", style: .destructive) {
// UIAlertAction in
// }
// let delete = UIAlertAction(title: "Delete", style: .destructive) {
// UIAlertAction in
// self.tappedIndex = postIndex
// self.socialfeedviewmodel.deleteSocialFeed(feedId: self.socialfeedviewmodel.getSocialFeedAt(index: postIndex).id)
// }
// alert.addAction(cancel)
// alert.addAction(delete)
// present(alert, animated: true, completion: nil)
// }
//
//
// @objc func loadMore(_ sender: TableViewCell) {
// newFeedsWillBeAppended = true
// tableView.cellForRow(at: IndexPath(row: 0, section: 4))?.isHidden = true
// socialfeedviewmodel.fetchSocialFeeds(isPublic: true, loadMore: true)
// }
//
// /* LIKE OR DISLIKE A POST WHEN TAPPPED */
// @objc func toggleLike(_ sender: TableViewCell) {
//
// guard let clickedCell = sender.superview?.superview?.superview?.superview as? TableViewCell else {
// return
// }
// if let clickedCellIndexPath = tableView.indexPath(for: clickedCell) {
// tappedIndex = clickedCellIndexPath.row
// let tappedFeed = socialfeedviewmodel.getSocialFeedAt(index: tappedIndex!)
// socialfeedviewmodel.likeDislikePost(feedId: tappedFeed.id, liked: tappedFeed.liked)
// }
// }
//
// /**
// To determine the specific index of like button on table view
// */
// @objc func showLikes(_ sender: TableViewCell) {
//
// guard let clickedCell = sender.superview?.superview?.superview?.superview as? TableViewCell else {
// return
// }
// if let clickedCellIndexPath = tableView.indexPath(for: clickedCell) {
//
// tappedIndex = clickedCellIndexPath.row
//
// let tappedFeed = socialfeedviewmodel.getSocialFeedAt(index: tappedIndex!)
//
// if tappedFeed.totalLike > 0 {
//
// guard Reachability.isConnectedToNetwork() else {
// self.popUpMessage(value: 15)
// return
// }
//
// self.performSegue(withIdentifier: "showLikedBy", sender: nil)
// }
// }
// }
//
// /**
// To determine the specific index of comment button on table view
// */
// @objc func showComments(_ sender: TableViewCell) {
//
// guard let clickedCell = sender.superview?.superview?.superview?.superview as? TableViewCell else {
// return
// }
// if let clickedCellIndexPath = tableView.indexPath(for: clickedCell) {
//
// tappedIndex = clickedCellIndexPath.row
//
// guard Reachability.isConnectedToNetwork() else {
// self.popUpMessage(value: 15)
// return
// }
//
// self.performSegue(withIdentifier: "showCommentsBy", sender: nil)
// }
// }
//
// /**
// To display alert message for report
// */
// func reportAlert(postIndex: Int) {
// let alert = UIAlertController(title:nil, message:nil, preferredStyle: .actionSheet)
//
// let feedToReport = self.socialfeedviewmodel.getSocialFeedAt(index: postIndex)
//
// let spam = UIAlertAction(title: "Its spam", style: .default) {
// UIAlertAction in
//
// self.socialfeedviewmodel.reportSocialFeed(feedId: feedToReport.id, reportMessage: "This is spam")
//
// }
//
// let inappropriate = UIAlertAction(title: "Its inappropriate", style: .default) {
// UIAlertAction in
//
// self.socialfeedviewmodel.reportSocialFeed(feedId: feedToReport.id, reportMessage: "This is inappropriate")
// }
//
// let cancel = UIAlertAction(title: "Cancel", style: .destructive) {
// UIAlertAction in
//
// }
// alert.addAction(spam)
// alert.addAction(inappropriate)
// alert.addAction(cancel)
// present(alert, animated: true, completion: nil)
// }
//
// /**
// To display alert message after report is send
// */
// func reportSendAlert() {
// let alert = UIAlertController(title:nil, message:"Your report has been send for review.", preferredStyle: .actionSheet)
//
// let cancel = UIAlertAction(title: "OK", style: .cancel) {
// UIAlertAction in
//
// }
// alert.addAction(cancel)
// present(alert, animated: true, completion: nil)
//
// }
//
// /**
// Update available balance of user
// */
// func setAvailableBalanceInStringAttributeFormat(label: UILabel){
//
// var amount = "N/A"
//
// let balance = UserDefaults.standard.object(forKey: "com.gmeremit.balance") as? String
//
// if balance != "N/A" && balance != nil && balance != "" {
// amount = getCommaAddedAmountString(amountString: balance!)
// }
//
// let amountUnit = " USD"
//
// let fontAttribute = [ NSAttributedStringKey.font: UIFont(name: "SanFranciscoDisplay-Regular", size: 18.0)! ]
//
// let amountAttribute = NSMutableAttributedString(string: amount)
// let amountUnitAttribute = NSMutableAttributedString(string: amountUnit,attributes: fontAttribute)
//
// amountUnitAttribute.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor(hex:0x4a4a4a), range: NSRange(location:0, length: amountUnitAttribute.length))
//
// let balanceAttribute = NSMutableAttributedString()
//
// balanceAttribute.append(amountAttribute)
// balanceAttribute.append(amountUnitAttribute)
//
// label.attributedText = balanceAttribute
// }
//}
//
//
///*---------------MAIN TABLE VIEW------------
// -----------------HANDLES THEN NUMBER OF CELLS IN TABLEVIEW------------
// -----------------HANDLES THE NUMBER OF SECTIONS IN TABLEVIEW------------
// -----------------HANDLES THE SECTION HEIGHT IN TABLEVIEW------------
//*/
//
//extension _HomeViewController: UIScrollViewDelegate {
//
// @IBAction func scrollToTop(_ sender: Any) {
// tableView.scrollToRow(at: IndexPath(row:0, section: 0), at: UITableViewScrollPosition.top, animated: true)
// }
//
// func scrollViewDidScroll(_ scrollView: UIScrollView) {
//
// if tableView.indexPathsForVisibleRows!.contains(IndexPath(row: 0, section: 1)) && isTopMenuVisible {
//
// topMenuView.isHidden = true
// tableViewTopConstraint.constant = 0
// isTopMenuVisible = false
// }
//
// if !tableView.indexPathsForVisibleRows!.contains(IndexPath(row: 0, section: 1)) && !isTopMenuVisible {
//
// setUpTopMenu()
//
// topMenuView.isHidden = false
// tableViewTopConstraint.constant = topMenuView.frame.height
// isTopMenuVisible = true
// }
//
// }
//
// func setUpTopMenu() {
// if let menuIndexArray = UserDefaults.standard.array(forKey: "com.gmeremit.collectionViewMenuIndexArray") as? [Int] {
// buttonMenuItem0.setImage(UIImage(named: collectionViewMenuIconArray[menuIndexArray[0]]!), for: .normal)
// buttonMenuItem0.tag = menuIndexArray[0]
//
// buttonMenuItem1.setImage(UIImage(named: collectionViewMenuIconArray[menuIndexArray[1]]!), for: .normal)
// buttonMenuItem1.tag = menuIndexArray[1]
//
// buttonMenuItem2.setImage(UIImage(named: collectionViewMenuIconArray[menuIndexArray[2]]!), for: .normal)
// buttonMenuItem2.tag = menuIndexArray[2]
//
// labelMenuItem0.text = collectionViewMenuNameArray[menuIndexArray[0]]
// labelMenuItem1.text = collectionViewMenuNameArray[menuIndexArray[1]]
// labelMenuItem2.text = collectionViewMenuNameArray[menuIndexArray[2]]
//
// buttonMenuItem0.addTarget(self, action: #selector(performRedirection(_:)), for: .touchUpInside)
// buttonMenuItem1.addTarget(self, action: #selector(performRedirection(_:)), for: .touchUpInside)
// buttonMenuItem2.addTarget(self, action: #selector(performRedirection(_:)), for: .touchUpInside)
// }
// }
//
// @objc func performRedirection(_ sender: UIButton) {
//
// switch sender.tag {
//
// case 0:
// if (UserDefaults.standard.object(forKey: "com.gmeremit.isVerified") as! Bool) {
// self.performSegue(withIdentifier: "recipientList", sender: nil)
// } else {
// self.popUpMessage(value: 13)
// }
//
// case 1:
// if (UserDefaults.standard.object(forKey: "com.gmeremit.isVerified") as! Bool) {
// self.performSegue(withIdentifier: "mobileRecharge", sender: nil)
// } else {
// self.popUpMessage(value: 13)
// }
//
// case 2:
// self.performSegue(withIdentifier: "todayRate", sender: nil)
//
// case 3:
// self.performSegue(withIdentifier: "trackTransfer", sender: nil)
//
// case 4:
// self.performSegue(withIdentifier: "transactionStatement", sender: nil)
//
// case 5:
// if (UserDefaults.standard.object(forKey: "com.gmeremit.isVerified") as! Bool) {
// self.performSegue(withIdentifier: "walletTransfer", sender: nil)
// } else {
// self.popUpMessage(value: 13)
// }
//
// default:
// return
// }
// }
//}
//
//extension _HomeViewController: UITableViewDelegate, UITableViewDataSource {
//
//
// func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
// guard let index = TableViewCells.init(rawValue: indexPath.section) else {return 0}
// switch index {
// case .balance:
// return 100
//
// case .collection:
// let widthCell = ((view.frame.width - (insetForCollectionView * 3) ) - 10) / 2
// let heightForCollectionViewCell = widthCell * (170 / 120)
// if showAllCollectionViewCells! {
// return heightForCollectionViewCell * 1.7
// } else {
// return heightForCollectionViewCell * 1.151
// }
//
// case .status:
// tableView.estimatedRowHeight = 100
// return UITableViewAutomaticDimension
//
// case .social:
// tableView.estimatedRowHeight = 300
// return UITableViewAutomaticDimension
//
// case .loadMore:
// tableView.estimatedRowHeight = 100
// return UITableViewAutomaticDimension
//
// default:
// return 0
// }
// }
//
// func numberOfSections(in tableView: UITableView) -> Int {
// return self.sections.count
// }
//
// func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// guard let index = TableViewCells.init(rawValue: section) else {return 0}
// switch index {
// case .balance:
// return 1
// case .collection:
// return 1
// case .status:
// return 1
// case .social:
// if allowFetchRequest && self.socialfeedviewmodel.getPublicSocialFeedsCount() == 0 {
// socialfeedviewmodel.fetchSocialFeeds(isPublic: true, loadMore: false)
// allowFetchRequest = false
// return 0
// }
// return self.socialfeedviewmodel.getPublicSocialFeedsCount()
//
// case .loadMore:
// return 1
//
// default:
// return 0
// }
// }
//
// func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//
// guard let index = TableViewCells.init(rawValue: indexPath.section) else {return UITableViewCell()}
//
// switch index {
//
// case .balance:
//
// cell = tableView.dequeueReusableCell(withIdentifier: "topCell", for: indexPath) as! TableViewCell
// cell.viewTop.alpha = 1
// cell.btnRewardPoint.setTitle(UserDefaults.standard.object(forKey: "com.gmeremit.rewardPoint") as? String, for: .normal)
// cell.btnRewardPoint.addTarget(self, action:#selector(rewardTap(_:)), for:.touchUpInside)
// setAvailableBalanceInStringAttributeFormat(label: cell.labelAvailableBalance)
// let nickName = UserDefaults.standard.object(forKey: "com.gmeremit.nickName") as? String
// if nickName == nil || nickName == "" {
// let nameArray = (UserDefaults.standard.object(forKey: "com.gmeremit.fullName") as! String).split(separator: " ")
// if let firstName = nameArray.first {
// cell.labelUsername.text = String(firstName)
// }
// }
// return cell
//
// case .collection:
//
// cell = tableView.dequeueReusableCell(withIdentifier: "collectionCell", for: indexPath) as! TableViewCell
// cell.collectionView.isScrollEnabled = false
// cell.collectionView.dataSource = self
// cell.collectionView.delegate = self
// cell.collectionView.reloadData()
// cell.buttonShowless?.addTarget(self, action:#selector(showLessButtonTap(_:)), for:.touchUpInside)
//
// if showAllCollectionViewCells! {
// cell.buttonShowless.isHidden = false
//
// } else {
// cell.buttonShowless.isHidden = true
//
// }
// cell.collectionView.addGestureRecognizer(longPressGesture)
//
// return cell
//
// case .status:
//
// cell = tableView.dequeueReusableCell(withIdentifier: "statusCell", for: indexPath) as! TableViewCell
//
//
// cell.labelUserNameInitialStatus.isHidden = false
// cell.labelUserNameInitialStatus.backgroundColor = UIColor(hex: 0x2e3192)
// cell.labelUserNameInitialStatus.layer.cornerRadius = cell.labelUserNameInitialStatus.frame.height / 2
// cell.labelUserNameInitialStatus.text = getFirstName().prefix(1).uppercased()
//
//
// let userDpString = UserDefaults.standard.object(forKey: "com.gmeremit.dpUrl") as? String
// if let userDpUrl = URL(string: userDpString!) {
//
// cell.imageViewUserStatus.isHidden = false
//
// cell.imageViewUserStatus.sd_setImage(with: userDpUrl, placeholderImage: nil, options: [.progressiveDownload,.scaleDownLargeImages], completed: nil)
//
// cell.imageViewUserStatus.layer.cornerRadius = cell.imageViewUserStatus.frame.height/2
//
// cell.labelUserNameInitialStatus.isHidden = true
// }
//
// cell.buttonUploadStatus.addTarget(self, action: #selector(uploadTextStatus(_:)), for: .touchUpInside)
// cell.buttonUploadImage.addTarget(self, action: #selector(uploadImageStatus(_:)), for: .touchUpInside)
// return cell
//
// case .social:
//
//
// socialfeedviewmodel.setAccessType(accessType: "public")
//
// let socialFeed = self.socialfeedviewmodel.getSocialFeedAt(index:indexPath.row)
//
// if socialFeed.feedText != nil && socialFeed.feedText != "" {
// if socialFeed.feedImageId != nil {
// //CASE 3: text and image
// return self.getTableViewCell(indexPath: indexPath, socialFeed: socialFeed, mode: 3)
// } else {
// //CASE 1: only text
// return self.getTableViewCell(indexPath: indexPath, socialFeed: socialFeed, mode: 1)
// }
// } else {
// //CASE 2: only image
// return self.getTableViewCell(indexPath: indexPath, socialFeed: socialFeed, mode: 2)
// }
//
//
// case .loadMore:
//
// cell = tableView.dequeueReusableCell(withIdentifier: "loadMoreCell", for: indexPath) as! TableViewCell
//
//
// if socialfeedviewmodel.loadMore() {
// cell.buttonLoadMore.addTarget(self, action: #selector(loadMore(_:)), for: .touchUpInside)
// cell.buttonLoadMore.isHidden = false
// } else {
// cell.buttonLoadMore.isHidden = true
// }
//
// return cell
//
// default:
// return cell
// }
//
// }
//
//}
//
//
///*---------------IMAGE RELATED TASKS------------
// -----------------IMAGE DIALOG------------
// -----------------GALLERY AND CAMERA ACTION------------*/
//
//extension _HomeViewController {
//
// func addUserProfileImage(){
//
// guard let tabController = self.tabBarController else {
// return
// }
//
// self.navigationController?.navigationBar.isUserInteractionEnabled = false
//
// let popUpViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpAddUserProfile") as! PopUpAddUserProfileViewController
//
// tabController.addChildViewController(popUpViewController)
// popUpViewController.view.frame = tabController.view.bounds
// tabController.view.addSubview(popUpViewController.view)
// popUpViewController.didMove(toParentViewController: tabController)
//
// }
//
//
// @objc func showUploadOptions(tapGestureRecognizer: UITapGestureRecognizer) {
//
// let alert = UIAlertController(title: "Choose Image", message: nil, preferredStyle: .actionSheet)
//
// alert.addAction(UIAlertAction(title: "Camera", style: .default, handler: { _ in
// self.openCamera()
// }))
//
// alert.addAction(UIAlertAction(title: "Gallery", style: .default, handler: { _ in
// self.openGallery()
// }))
//
// alert.addAction(UIAlertAction.init(title: "Cancel", style: .destructive, handler: nil))
//
// self.dismiss(animated: false, completion: nil)
// self.present(alert, animated: true, completion: nil)
// }
//
// func openCamera() {
// if(UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera)) {
// imagePicker.sourceType = UIImagePickerControllerSourceType.camera
// imagePicker.allowsEditing = false
// present(imagePicker, animated: true, completion: nil)
// }
// else {
// let alert = UIAlertController(title: "Warning", message: "You don't have camera", preferredStyle: .alert)
// alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
// self.present(alert, animated: true, completion: nil)
// }
// }
//
// func openGallery() {
// imagePicker.delegate = self
// imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
// imagePicker.allowsEditing = false
//
// present(imagePicker, animated: true, completion: nil)
// }
//
//}
//
//
//
///*---------------NAVIGATION PICKER------------
// -----------------HANDLES IMAGE PICKING------------
// -----------------HANDLES PICKING FROM CAMERA AND GALLERY------------*/
//
//extension _HomeViewController: UINavigationControllerDelegate, UIImagePickerControllerDelegate {
//
// func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
//
// if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
//
// //imageView.image = image
//
// dismiss(animated: true, completion: nil)
// }
// }
//
// func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
// dismiss(animated: true, completion: nil)
// }
//
//}
//
//
///*---------------COLLECTION VIEW------------
//-----------------HANDLES COLLECTION VIEW ITEMS------------
//-----------------HANDLES COLLECTION VIEW MARGINS------------
//-----------------HANDLES COLLECTION VIEW ITEMS DRAG------------*/
//
//extension _HomeViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
//
// func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//
// return numberCellsInCollectionView!
// }
//
// func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
//
// let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "transactionCell", for: indexPath) as! TransactionCollectionViewCell
//
// if numberCellsInCollectionView == 4 {
// cell.btnDragNdrop.isHidden = true
// } else {
// cell.btnDragNdrop.isHidden = false
// }
//
// cell.transactionLabel.text = collectionViewMenuNameArray[collectionViewMenuIndexArray[indexPath.row]]
// cell.transactionImageView.image = UIImage(named: collectionViewMenuIconArray[collectionViewMenuIndexArray[indexPath.row]]!)
//
// return cell
// }
//
// func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
//
// switch collectionViewMenuIndexArray[indexPath.row] {
//
// case 0:
//
// if self.isVerifiedUser() {
// let viewcontroller = UIStoryboard.init(name: "RecipientListViewController", bundle: nil).instantiateViewController(withIdentifier: "RecipientListViewController") as! RecipientListViewController
// self.navigationController?.pushViewController(viewcontroller, animated: true)
// } else {
// self.popUpMessage(value: 13)
// }
//
// case 1:
// self.alert(message: "This feature is coming soon")
// return
// if (UserDefaults.standard.object(forKey: "com.gmeremit.isVerified") as? Bool ?? false) {
// self.performSegue(withIdentifier: "mobileRecharge", sender: nil)
// } else {
// self.popUpMessage(value: 13)
// }
//
// case 2:
// let exchangeRateWireFrame = ExchangeRatesWireframe()
// if let navigation = self.navigationController {
// exchangeRateWireFrame.pushMainView(in: navigation)
// }
// case 3:
// self.performSegue(withIdentifier: "trackTransfer", sender: nil)
//
// case 4:
// let wireframe = TransactionHistoryWireframe()
// if let navigation = self.navigationController {
// wireframe.pushMainView(in: navigation)
// }
//
//
// case 5:
// self.alert(message: "This feature is coming soon")
// return
//
// case 6:
// showAllCollectionViewCells = true
// numberCellsInCollectionView = 6
// /* Send MORE button to the last position by switching it with the 4th item in the menu" */
// collectionViewMenuIndexArray.swapAt(3, 6)
// tableView.reloadSections(NSIndexSet(index: 1) as IndexSet, with: .none)
//
// default:
// return
// }
// }
//
// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
//
// return UIEdgeInsetsMake(insetForCollectionView, insetForCollectionView, insetForCollectionView, insetForCollectionView)
// }
//
// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
//
// return insetForCollectionView
// }
//
// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
//
// return insetForCollectionView
// }
//
// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
//
// let itemWidth = (collectionView.frame.width - insetForCollectionView * 2 - insetForCollectionView) / collectionViewItemsPerRow
//
// return CGSize(width: itemWidth, height: itemWidth * 120/170)
// }
//
// func collectionView(_ collectionView: UICollectionView, canMoveItemAt indexPath: IndexPath) -> Bool {
// if numberCellsInCollectionView! > 4 {
// return true
// } else {
// return false
// }
// }
//
// func collectionView(_ collectionView: UICollectionView, moveItemAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
//
// //collectionViewMenuIndexArray.swapAt(sourceIndexPath.row, destinationIndexPath.row)
//
// let elemetToMove = collectionViewMenuIndexArray[sourceIndexPath.row]
// collectionViewMenuIndexArray.remove(at: sourceIndexPath.row)
//
// collectionViewMenuIndexArray.insert(elemetToMove, at: destinationIndexPath.row)
//
//
// /* Save the user's swapped menu to be loaded next time the app is resumed */
// UserDefaults.standard.set(collectionViewMenuIndexArray, forKey: "com.gmeremit.collectionViewMenuIndexArray")
//
// tableView.reloadSections(NSIndexSet(index: 1) as IndexSet, with: .none)
// }
//
// @objc func handleLongGesture(gesture: UILongPressGestureRecognizer) {
//
// if let tappedCollectionView = gesture.view as? UICollectionView {
//
// switch(gesture.state) {
//
// case .began:
// guard let selectedIndexPath = tappedCollectionView.indexPathForItem(at: gesture.location(in: tappedCollectionView)) else {
// break
// }
// tappedCollectionView.beginInteractiveMovementForItem(at: selectedIndexPath)
// case .changed:
// tappedCollectionView.updateInteractiveMovementTargetPosition(gesture.location(in: gesture.view!))
// case .ended:
// tappedCollectionView.endInteractiveMovement()
// default:
// tappedCollectionView.cancelInteractiveMovement()
// }
// }
// }
//
// @objc func showLessButtonTap(_ sender: TableViewCell) {
// showAllCollectionViewCells = false
// numberCellsInCollectionView = 4
// /* Bring MORE button to the 4th position by switching it with the last item in the menu" */
// collectionViewMenuIndexArray.swapAt(3, 6)
// tableView.reloadSections(NSIndexSet(index: 1) as IndexSet, with: .none)
//
// }
//
// override func didReceiveMemoryWarning() {
// super.didReceiveMemoryWarning()
// }
//
// override func viewDidDisappear(_ animated: Bool) {
// //RestApiMananger.sharedInstance.cancelExistingNetworkCalls()
// }
//}
//