ZcashLightClientKit/Example/ZcashLightClientSample/ZcashLightClientSample/ViewController.swift

67 lines
3.1 KiB
Swift

//
// ViewController.swift
// ZcashLightClientSample
//
// Created by Francisco Gindre on 06/09/2019.
// Copyright © 2019 Electric Coin Company. All rights reserved.
//
import UIKit
class MainTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .trash, target: self, action: #selector(clearDatabases(_:)))
}
@objc func clearDatabases(_ sender: Any?) {
let alert = UIAlertController(title: "Clear Databases?", message: "You are about to clear existing databases. You will lose all synced blocks, stored TXs, etc", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Drop it like it's FIAT", style: UIAlertAction.Style.destructive) { _ in
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
return
}
appDelegate.clearDatabases()
})
alert.addAction(UIAlertAction(title: "No please! Have mercy!", style: UIAlertAction.Style.cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destination = segue.destination as? TransactionsTableViewController {
if let id = segue.identifier, id == "Pending" {
destination.datasource = TransactionsDataSource(status: .pending, synchronizer: AppDelegate.shared.sharedSynchronizer)
destination.title = "Pending Transactions"
} else if let id = segue.identifier, id == "Sent" {
destination.datasource = TransactionsDataSource(status: .sent, synchronizer: AppDelegate.shared.sharedSynchronizer)
destination.title = "Sent Transactions"
} else if let id = segue.identifier, id == "Received" {
destination.datasource = TransactionsDataSource(status: .received, synchronizer: AppDelegate.shared.sharedSynchronizer)
destination.title = "Received Transactions"
} else if let id = segue.identifier, id == "Cleared" {
destination.datasource = TransactionsDataSource(status: .cleared, synchronizer: AppDelegate.shared.sharedSynchronizer)
destination.title = "Cleared Transactions"
} else if let id = segue.identifier, id == "All" {
destination.datasource = TransactionsDataSource(status: .all, synchronizer: AppDelegate.shared.sharedSynchronizer)
destination.title = "All Transactions"
}
} else if let destination = segue.destination as? PaginatedTransactionsViewController {
let paginatedRepo = AppDelegate.shared.sharedSynchronizer.paginatedTransactions()
destination.paginatedRepository = paginatedRepo
}
super.prepare(for: segue, sender: sender)
}
}