MainActivityViewController.swift 1.98 KB
//
//  MainActivityViewController.swift
//  styleteqios
//
//  Created by Alfonz Montelibano on 4/20/16.
//  Copyright © 2016 Allejo Chris Velarde. All rights reserved.
//

import UIKit

class MainActivityViewController: ActivityTableViewController {
	
	// Fetch news feed activities. This func is called from ActivityTableViewController.updateList()
	override func fetchActivities() {
		
        if currentPage == 0 {
            return
        }
        
		self.emptyCollectionLabel.text = "No Feeds Available. Follow a user or shop and get their latest updates."
        self.startProcessIndicator()
        ActivityRepository.instance.getActivityByUser(UserRepository.instance.getCurrentLocalUser(), params: ["page": self.currentPage as Any]) { (response, error) in
            
            self.stopProcessIndicator()
            self.refreshControl!.endRefreshing()
            
            if error != nil {
                self.showAlert("Ooops", message: "Unable to load your feeds right now.", action: nil)
            }
            else {
                guard let pager = response else {
                    return
                }
                self.currentPage = pager.nextPage
                
                for each in pager.collection as! [Activity] {
                    self.activityItems.append(each)
                    self.tableView.reloadData()
                    
                }
            }

            self.emptyCollectionLabel.isHidden = self.activityItems.isEmpty ? false : true
            
        }
	}
}

extension MainActivityViewController: StyleFullViewDelegate {
    func didUpdateStyle(_ style: Style) {
        
    }
    
    func didDeleteStyle(_ style: Style) {
        self.activityItems = self.activityItems.filter { each in
            
            guard let asStyle = each.object as? Style else {
                return true
            }
            
            return (style.id == asStyle.id) ? false : true
        }
        self.tableView?.reloadData()
    }
}