passforios/pass/Controllers/OpenSourceComponentsTableViewController.swift
2020-02-23 03:06:23 +08:00

62 lines
2.3 KiB
Swift

//
// OpenSourceComponentsTableViewController.swift
// pass
//
// Created by Mingshen Sun on 9/2/2017.
// Copyright © 2017 Bob Sun. All rights reserved.
//
import UIKit
import SafariServices
class OpenSourceComponentsTableViewController: BasicStaticTableViewController {
private static let openSourceComponents = [
["FavIcon",
"https://github.com/bitserf/FavIcon",
"https://github.com/bitserf/FavIcon/blob/master/LICENSE"],
["GopenPGP",
"https://gopenpgp.org/",
"https://github.com/ProtonMail/gopenpgp/blob/master/LICENSE"],
["KeychainAccess",
"https://github.com/kishikawakatsumi/KeychainAccess",
"https://github.com/kishikawakatsumi/KeychainAccess/blob/master/LICENSE"],
["ObjectiveGit",
"https://github.com/libgit2/objective-git",
"https://github.com/libgit2/objective-git/blob/master/LICENSE"],
["OneTimePassword",
"https://github.com/mattrubin/OneTimePassword",
"https://github.com/mattrubin/OneTimePassword/blob/develop/LICENSE.md"],
["SVProgressHUD",
"https://github.com/SVProgressHUD/SVProgressHUD",
"https://github.com/SVProgressHUD/SVProgressHUD/blob/master/LICENSE"],
["SwiftyUserDefaults",
"https://github.com/radex/SwiftyUserDefaults",
"https://github.com/radex/SwiftyUserDefaults/blob/master/LICENSE"],
["EFF's Wordlists",
"https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases",
"http://creativecommons.org/licenses/by/3.0"],
]
override func viewDidLoad() {
super.viewDidLoad()
tableData.append([])
for item in Self.openSourceComponents {
tableData[0].append([
.title: item[0],
.action: "link",
.link: item[1],
.accessoryType: UITableViewCell.AccessoryType.detailDisclosureButton,
.detailDisclosureAction: #selector(actOnDetailDisclosureButton(_:)),
.detailDisclosureData: item[2]
])
}
}
@objc func actOnDetailDisclosureButton(_ sender: Any?) {
if let link = sender as? String, let url = URL(string: link) {
let svc = SFSafariViewController(url: url, entersReaderIfAvailable: false)
present(svc, animated: true)
}
}
}