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
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: "It’s spam", style: .default) {
|
|
// UIAlertAction in
|
|
//
|
|
// self.socialfeedviewmodel.reportSocialFeed(feedId: feedToReport.id, reportMessage: "This is spam")
|
|
//
|
|
// }
|
|
//
|
|
// let inappropriate = UIAlertAction(title: "It’s 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()
|
|
// }
|
|
//}
|
|
//
|