-
Notifications
You must be signed in to change notification settings - Fork 161
/
UserIDViewController.swift
42 lines (33 loc) · 1.26 KB
/
UserIDViewController.swift
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
import UIKit
import MatomoTracker
class UserIDViewController: UIViewController {
@IBOutlet weak var userIDTextField: UITextField!
@IBOutlet weak var signinButton: UIButton!
@IBOutlet weak var signoutButton: UIButton!
@IBAction func signinAction(_ sender: UIButton) {
if (self.userIDTextField.text != nil) && (self.userIDTextField.text?.count)! > 0 {
MatomoTracker.shared.userId = self.userIDTextField.text
toggleState()
}
}
@IBAction func signOutAction(_ sender: UIButton) {
MatomoTracker.shared.userId = nil
toggleState()
}
override func viewDidLoad() {
toggleState()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
MatomoTracker.shared.track(view: ["menu","user id"])
}
private func toggleState() {
self.userIDTextField.text = MatomoTracker.shared.userId
self.signinButton.isEnabled = !isVisitorIdValid()
self.signoutButton.isEnabled = !self.signinButton.isEnabled
}
private func isVisitorIdValid() -> Bool {
let currentVisitorId = MatomoTracker.shared.userId
return (currentVisitorId != nil) && (currentVisitorId?.count)! > 0
}
}