This repository was archived by the owner on May 21, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 140
Expand file tree
/
Copy pathAccountVCMethods.swift
More file actions
127 lines (102 loc) · 3.97 KB
/
AccountVCMethods.swift
File metadata and controls
127 lines (102 loc) · 3.97 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//
// AccountVCMethods.swift
// Susi
//
// Created by Syed on 28/05/19.
// Copyright © 2019 FOSSAsia. All rights reserved.
//
import Foundation
extension AccountViewController: UITextFieldDelegate {
@objc func dismissView() {
self.dismiss(animated: true, completion: nil)
}
func setupTitle() {
navigationItem.titleLabel.text = ControllerConstants.SettingParams.title
navigationItem.titleLabel.textAlignment = .left
navigationItem.titleLabel.textColor = .white
navigationItem.leftViews = [backButton]
navigationItem.rightViews = [settingsButton]
deleteAccountButton.tintColor = .red
}
func setUpUserDetails() {
if let user = delegate?.currentUser {
let imageURL = URL(string: SettingsViewController.getAvatarPath(user.accessToken) )
userAvatarImageView.kf.setImage(with: imageURL)
if UserDefaults.standard.object(forKey: ControllerConstants.SettingParams.userName) == nil {
userEmailLabel.text = user.emailID
} else {
userEmailLabel.text = UserDefaults.standard.object(forKey: ControllerConstants.SettingParams.userName) as? String
}
roundedCorner()
outerViewShadow()
}
}
func roundedCorner() {
userAvatarImageView.layer.cornerRadius = 38.0
userAvatarImageView.layer.borderWidth = 1.0
userAvatarImageView.layer.borderColor = UIColor.white.cgColor
userAvatarImageView.layer.masksToBounds = true
userAvatarImageView.clipsToBounds = true
}
// Outer View
func outerViewShadow() {
outerView.layer.cornerRadius = 38.0
outerView.layer.shadowColor = UIColor.gray.cgColor
outerView.layer.shadowOpacity = 1
outerView.layer.shadowRadius = 10.0
outerView.layer.shadowOffset = CGSize.zero
}
// Setting Action
@objc func settingButtonClicked() {
if let user = delegate?.currentUser {
let param = [
ControllerConstants.SettingParams.userName: userNameTextField.text as AnyObject,
ControllerConstants.SettingParams.phoneNumber: phoneNumberTextField.text as AnyObject,
ControllerConstants.SettingParams.prefLanguage: prefLanguageTextField.text as AnyObject,
ControllerConstants.SettingParams.count: 3 as AnyObject,
ControllerConstants.SettingParams.accessToken: user.accessToken as AnyObject
]
Client.sharedInstance.changeUserSettings(param) { (_, message) in
DispatchQueue.main.async {
UserDefaults.standard.set(self.userNameTextField.text, forKey: ControllerConstants.SettingParams.userName)
self.view.makeToast(message)
}
}
}
}
// Key Return on Hit
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
switch textField {
case userNameTextField:
_ = phoneNumberTextField.becomeFirstResponder()
case phoneNumberTextField:
dismissKeyboard() default:
textField.resignFirstResponder()
}
return true
}
// Dismiss Keyboard
@objc func dismissKeyboard() {
view.endEditing(true)
}
// Add Delegates
func addDelegates() {
userNameTextField.delegate = self
phoneNumberTextField.delegate = self
picker.dataSource = self
picker.delegate = self
prefLanguageTextField.inputView = picker
}
// Handle Delete Account Request.
func handleDeleteAccountRequest() {
deleteAccountButton.addTarget(self, action: #selector(deleteAccount), for: .touchUpInside)
}
@objc func deleteAccount() {
}
// Handle Upload Avatar
func handleAvatarUpload() {
uploadAvatarButton.addTarget(self, action: #selector(uploadAvatar), for: .touchUpInside)
}
@objc func uploadAvatar() {
}
}