blob: 9e001d21f1b54f0902dacc7c9e8996592a01af35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
//
// SettingsViewController.swift
// MullvadVPN
//
// Created by pronebird on 20/03/2019.
// Copyright © 2019 Mullvad VPN AB. All rights reserved.
//
import UIKit
import Foundation
class SettingsViewController: UITableViewController {
@IBOutlet var staticDataSource: SettingsTableViewDataSource!
private enum CellIdentifier: String {
case account = "Account"
case appVersion = "AppVersion"
case basicDisclosure = "BasicDisclosure"
}
private weak var accountRow: StaticTableViewRow?
override func viewDidLoad() {
super.viewDidLoad()
setupDataSource()
}
// MARK: - IBActions
@IBAction func handleDismiss() {
dismiss(animated: true)
}
// MARK: - Private
private func setupDataSource() {
if Account.shared.isLoggedIn {
let topSection = StaticTableViewSection()
let accountRow = StaticTableViewRow(reuseIdentifier: CellIdentifier.account.rawValue) { (_, cell) in
let cell = cell as! SettingsAccountCell
cell.accountExpiryDate = Account.shared.expiry
}
let wireguardKeyRow = StaticTableViewRow(reuseIdentifier: CellIdentifier.basicDisclosure.rawValue) { (_, cell) in
let cell = cell as! SettingsBasicCell
cell.titleLabel.text = NSLocalizedString("WireGuard key", comment: "")
}
wireguardKeyRow.actionBlock = { [weak self] (indexPath) in
self?.performSegue(
withIdentifier: SegueIdentifier.Settings.showWireguardKeys.rawValue,
sender: nil)
}
self.accountRow = accountRow
topSection.addRows([accountRow, wireguardKeyRow])
staticDataSource.addSections([topSection])
}
let middleSection = StaticTableViewSection()
let versionRow = StaticTableViewRow(reuseIdentifier: CellIdentifier.appVersion.rawValue) { (_, cell) in
let cell = cell as! SettingsAppVersionCell
cell.versionLabel.text = Bundle.main.mullvadVersion
}
versionRow.isSelectable = false
middleSection.addRows([versionRow])
staticDataSource.addSections([middleSection])
}
}
class SettingsTableViewDataSource: StaticTableViewDataSource {
// MARK: - UITableViewDelegate
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 24
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
|