-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMyProfileViewController
148 lines (119 loc) · 5.16 KB
/
MyProfileViewController
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
//
// MyProfileViewController.swift
// RentAdate
//
// Created by Kassandra Capretta on 12/19/19.
// Copyright © 2019 Kassandra Capretta. All rights reserved.
//
import UIKit
// import FirebaseDatabase
// import FirebaseStorage
// Pull data from Firebase
//var ref:DatabaseReference?
//var databaseHandle:DatabaseHandle?
// Post as string
//var postData = [String]()
class MyProfileViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// Photos
@IBOutlet weak var profileViewMain: UIImageView!
@IBOutlet weak var profileView2: UIImageView!
@IBOutlet weak var profileView3: UIImageView!
@IBOutlet weak var profileView4: UIImageView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
@IBOutlet weak var firstNameLabel: UILabel!
@IBOutlet weak var mainProfilePicture: UIImageView!
// let firebaseServer = FirebaseFunctions.shared
// First Name Data
var firstName: String = ""
override func viewDidLoad() {
super.viewDidLoad()
ColoredLabel.styleLabel1(firstNameLabel)
//firstNameText.text = newUser.firstName
// Photo Tapped Recognizer
[profileViewMain, profileView2, profileView3, profileView4].forEach {[weak self] (view) in
guard let view = view else { return}
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleImageViewTapped))
view.addGestureRecognizer(tapGesture)
}
pullUserImages()
// Firebase Data
func pullUserImages() {
var index = 0
let imageViews = [profileViewMain,
profileView2, profileView3, profileView4]
// if let uid = Auth.auth().currentUser?.uid {
// imageViews.forEach { (imageView) in
// if let imageView = imageView {
// let storage = Storage.storage()
// let storageRef = storage.reference(withPath: "\(uid)/photos/\(index)")
// PhotoUploader.downloadImageUrl(from: storageRef) { (url) in
// guard let url = url else { return }
// imageView.downloaded(from: url, contentMode: .scaleAspectFill)
// }
// }
// index = index + 1
// }
// } else {
// showAlert(withTitle: "Error", message: "Not signed in")
}
}
// Photo Tapped Recognizer Pt 2
@objc func handleImageViewTapped(recognizer: UIGestureRecognizer) {
currentlySettingImageViewTag = recognizer.view?.tag
let picker = UIImagePickerController()
picker.delegate = self
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
print("Image... ", image)
guard let tag = currentlySettingImageViewTag else { return }
switch tag {
case 0:
profileViewMain.image = image
case 1:
profileView2.image = image
case 2:
profileView3.image = image
case 3:
profileView4.image = image
default:
profileViewMain.image = image
}
self.dismiss(animated: true, completion: nil)
}
// Save the data
@IBAction func doneButtonTapped(_ sender: Any) {
let images = [profileViewMain.image,
profileView2.image,
profileView3.image,
profileView4.image,
]
let filteredImages = images.filter { (image) -> Bool in
return image != nil
}
// var index = 0
// filteredImages.forEach { (image) in
// if let uid = Auth.auth().currentUser?.uid, let image = image {
// let storage = Storage.storage()
// let storageRef = storage.reference(withPath: "\(uid)/photos/\(index)")
// PhotoUploader.uploadImage(image, at: storageRef) {[weak self] (url) in
// if url != nil {
// print("url... ", url)
//
// } else {
// self?.showAlert(withTitle: "Error", message: "Image Upload Failed")
// }
// }
// } else {
// showAlert(withTitle: "Error", message: "No Image Selected")
// }
// index = index + 1
}
}
}
}
@IBAction func cancelTapped(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}