From 1b292bc251b3dbef532dacad9705bd197ac4227b Mon Sep 17 00:00:00 2001 From: Nicholas Tay Date: Thu, 24 Mar 2022 16:32:23 +1100 Subject: Reorganise into folder groups In preparation for presenters to come in largely, lots of files starting to go everywhere... --- foray/ForayTableViewController.swift | 107 ----------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 foray/ForayTableViewController.swift (limited to 'foray/ForayTableViewController.swift') diff --git a/foray/ForayTableViewController.swift b/foray/ForayTableViewController.swift deleted file mode 100644 index 37ac2e5..0000000 --- a/foray/ForayTableViewController.swift +++ /dev/null @@ -1,107 +0,0 @@ -// -// ForayTableViewController.swift -// foray -// -// Created by Nicholas Tay on 14/3/2022. -// - -import UIKit - -class ForayTableViewController: UITableViewController, ForayCoordinated { - - var coordinator: ForayCoordinator? - - // MARK: - Static data TEMP - - var sections = [YearSection]() - - // MARK: - On load - - override func viewDidLoad() { - super.viewDidLoad() - self.title = "Foray" - - tableView.rowHeight = UITableView.automaticDimension - - // Register our custom cell - tableView.register(ForayNewTableViewCell.self, forCellReuseIdentifier: "ForayNewTableViewCell") - - // Not sure if this is the right way to go about this... - coordinator?.showLoading() - reloadApiData() - - self.refreshControl = UIRefreshControl() - self.refreshControl?.addTarget(self, action: #selector(doRefresh), for: UIControl.Event.valueChanged) - } - - @objc func doRefresh(sender: AnyObject) { - reloadApiData() - } - - func reloadApiData() { - ForayNetworkManager.shared.get( - url: "https://users.windblume.net/~nick/upload/dummy.json", - onComplete: { (apiItems: [PenguinItem]) in - var items = apiItems - - // Show items in chronological order within sections - items.sort { (lhs, rhs) in lhs.releaseDate < rhs.releaseDate } - - // Group by year sections - let groups = Dictionary(grouping: apiItems) { (item) in - return Calendar.current.component(.year, from: item.releaseDate) - } - self.sections = groups.map { (key, values) in - return YearSection(year: key, items: values) - } - // Sort the sections from oldest year to newest - self.sections.sort { (lhs, rhs) in lhs.year < rhs.year } - - self.tableView.reloadData() - self.refreshControl?.endRefreshing() - self.coordinator?.hideLoading() - }) - } - - // MARK: - Table view data source - - override func numberOfSections(in tableView: UITableView) -> Int { - // Returns number of sections for table - return self.sections.count - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - // Returns number of rows for table's section - return self.sections[section].items.count - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let item = self.sections[indexPath.section].items[indexPath.row] - - let type: String - let icon: UIImage - switch item.type { - case .item: - type = "Item" - icon = UIImage(named: item.id)! - case .quest: - type = "Quest" - icon = UIImage(named: "spy")! - } - - let cell: ForayNewTableViewCell = tableView.dequeueReusableCell(withIdentifier: "ForayNewTableViewCell", for: indexPath) as! ForayNewTableViewCell - cell.setData(name: item.name, desc: type + "ID: " + item.id, img: icon) - return cell - } - - override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - return "Released in \(self.sections[section].year)" - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - tableView.deselectRow(at: indexPath, animated: true) - - let item = self.sections[indexPath.section].items[indexPath.row] - self.coordinator?.showDetails(item: item) - } -} -- cgit