Commit 22a64cd8b3d8bf91c30a0551b866f8dd6c833ae0

Authored by Dmitriy Tymofyeyev
1 parent 64863b18

added missing file

... ... @@ -21,12 +21,21 @@
21 21 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */; };
22 22 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */; };
23 23 1738F7DA2850F5F1003F1806 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7D92850F5F1003F1806 /* SettingsView.swift */; };
24   - 1738F7DC2850F980003F1806 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7DB2850F980003F1806 /* ProfileView.swift */; };
25   - 1778DA3E2850FF89006619C4 /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1778DA3D2850FF89006619C4 /* NotificationsView.swift */; };
26   - 1778DA402851042F006619C4 /* EditInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1778DA3F2851042F006619C4 /* EditInfoView.swift */; };
  24 + 175DA4722852416D0075F0A9 /* Reusable+cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 175DA4712852416D0075F0A9 /* Reusable+cell.swift */; };
  25 + 175DA474285241C90075F0A9 /* SettingsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 175DA473285241C90075F0A9 /* SettingsModel.swift */; };
27 26 178A61D12850DDAA001509A4 /* HomeTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178A61D02850DDAA001509A4 /* HomeTableViewCell.swift */; };
  27 + 17ABE070285B80DC0006E7EC /* DisplayNameCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABE06F285B80DC0006E7EC /* DisplayNameCell.swift */; };
  28 + 17ABE072285B810F0006E7EC /* SettingsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABE071285B810F0006E7EC /* SettingsTableViewCell.swift */; };
  29 + 17ABE074285B81390006E7EC /* SettingsSwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABE073285B81390006E7EC /* SettingsSwitchCell.swift */; };
28 30 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABFE57284FD20C003B6959 /* HomeViewController.swift */; };
29 31 17ABFE5A284FD293003B6959 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABFE59284FD293003B6959 /* HomeView.swift */; };
  32 + 17B0254628587716004225AE /* ChooseApartmentsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B0254528587716004225AE /* ChooseApartmentsViewController.swift */; };
  33 + 17B0254828587726004225AE /* ChooseApartmentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B0254728587726004225AE /* ChooseApartmentsView.swift */; };
  34 + 17CD09A42858EE39008483E2 /* ChooseApartmentsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CD09A32858EE39008483E2 /* ChooseApartmentsTableViewCell.swift */; };
  35 + 17CD09AA2858F979008483E2 /* ResidentsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CD09A92858F979008483E2 /* ResidentsViewController.swift */; };
  36 + 17CD09AC2858F9B0008483E2 /* ResidentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CD09AB2858F9B0008483E2 /* ResidentsView.swift */; };
  37 + 17CD09B12859110A008483E2 /* AddResidentsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CD09B02859110A008483E2 /* AddResidentsViewController.swift */; };
  38 + 17CD09B3285911C8008483E2 /* AddResidentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CD09B2285911C8008483E2 /* AddResidentsView.swift */; };
30 39 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */; };
31 40 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */; };
32 41 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE42844ED8F000D8077 /* VerificationViewController.swift */; };
... ... @@ -51,12 +60,21 @@
51 60 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerViewCell.swift; sourceTree = "<group>"; };
52 61 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = "<group>"; };
53 62 1738F7D92850F5F1003F1806 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
54   - 1738F7DB2850F980003F1806 /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
55   - 1778DA3D2850FF89006619C4 /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = "<group>"; };
56   - 1778DA3F2851042F006619C4 /* EditInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditInfoView.swift; sourceTree = "<group>"; };
  63 + 175DA4712852416D0075F0A9 /* Reusable+cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Reusable+cell.swift"; sourceTree = "<group>"; };
  64 + 175DA473285241C90075F0A9 /* SettingsModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsModel.swift; sourceTree = "<group>"; };
57 65 178A61D02850DDAA001509A4 /* HomeTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTableViewCell.swift; sourceTree = "<group>"; };
  66 + 17ABE06F285B80DC0006E7EC /* DisplayNameCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayNameCell.swift; sourceTree = "<group>"; };
  67 + 17ABE071285B810F0006E7EC /* SettingsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsTableViewCell.swift; sourceTree = "<group>"; };
  68 + 17ABE073285B81390006E7EC /* SettingsSwitchCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsSwitchCell.swift; sourceTree = "<group>"; };
58 69 17ABFE57284FD20C003B6959 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; };
59 70 17ABFE59284FD293003B6959 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
  71 + 17B0254528587716004225AE /* ChooseApartmentsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseApartmentsViewController.swift; sourceTree = "<group>"; };
  72 + 17B0254728587726004225AE /* ChooseApartmentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseApartmentsView.swift; sourceTree = "<group>"; };
  73 + 17CD09A32858EE39008483E2 /* ChooseApartmentsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseApartmentsTableViewCell.swift; sourceTree = "<group>"; };
  74 + 17CD09A92858F979008483E2 /* ResidentsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResidentsViewController.swift; sourceTree = "<group>"; };
  75 + 17CD09AB2858F9B0008483E2 /* ResidentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResidentsView.swift; sourceTree = "<group>"; };
  76 + 17CD09B02859110A008483E2 /* AddResidentsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddResidentsViewController.swift; sourceTree = "<group>"; };
  77 + 17CD09B2285911C8008483E2 /* AddResidentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddResidentsView.swift; sourceTree = "<group>"; };
60 78 17CF9EDD2844ED8F000D8077 /* InterQR-Internship.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "InterQR-Internship.app"; sourceTree = BUILT_PRODUCTS_DIR; };
61 79 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
62 80 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
... ... @@ -85,6 +103,9 @@
85 103 00E581B0284F666000E779FB /* Modules */ = {
86 104 isa = PBXGroup;
87 105 children = (
  106 + 17CD09AD28591073008483E2 /* AddResidentsViewController */,
  107 + 17CD09A62858F931008483E2 /* ResidentsScreen */,
  108 + 17B0254328587434004225AE /* ChooseApartmentsScreen */,
88 109 1738F7D42850F5A1003F1806 /* SettingsScreen */,
89 110 17ABFE54284FD1C8003B6959 /* HomeScreen */,
90 111 00E581B1284F666600E779FB /* VerificationSceen */,
... ... @@ -181,6 +202,7 @@
181 202 1738F7D42850F5A1003F1806 /* SettingsScreen */ = {
182 203 isa = PBXGroup;
183 204 children = (
  205 + 175DA473285241C90075F0A9 /* SettingsModel.swift */,
184 206 1738F7D62850F5C3003F1806 /* ViewController */,
185 207 1738F7D52850F5B5003F1806 /* View */,
186 208 );
... ... @@ -191,9 +213,7 @@
191 213 isa = PBXGroup;
192 214 children = (
193 215 1738F7D92850F5F1003F1806 /* SettingsView.swift */,
194   - 1738F7DB2850F980003F1806 /* ProfileView.swift */,
195   - 1778DA3D2850FF89006619C4 /* NotificationsView.swift */,
196   - 1778DA3F2851042F006619C4 /* EditInfoView.swift */,
  216 + 175DA46A2852406B0075F0A9 /* Cells */,
197 217 );
198 218 path = View;
199 219 sourceTree = "<group>";
... ... @@ -206,6 +226,16 @@
206 226 path = ViewController;
207 227 sourceTree = "<group>";
208 228 };
  229 + 175DA46A2852406B0075F0A9 /* Cells */ = {
  230 + isa = PBXGroup;
  231 + children = (
  232 + 17ABE06F285B80DC0006E7EC /* DisplayNameCell.swift */,
  233 + 17ABE071285B810F0006E7EC /* SettingsTableViewCell.swift */,
  234 + 17ABE073285B81390006E7EC /* SettingsSwitchCell.swift */,
  235 + );
  236 + path = Cells;
  237 + sourceTree = "<group>";
  238 + };
209 239 17ABFE54284FD1C8003B6959 /* HomeScreen */ = {
210 240 isa = PBXGroup;
211 241 children = (
... ... @@ -232,6 +262,90 @@
232 262 path = VIew;
233 263 sourceTree = "<group>";
234 264 };
  265 + 17B0254328587434004225AE /* ChooseApartmentsScreen */ = {
  266 + isa = PBXGroup;
  267 + children = (
  268 + 17CD09A12858EE04008483E2 /* ViewController */,
  269 + 17CD09A22858EE14008483E2 /* View */,
  270 + );
  271 + path = ChooseApartmentsScreen;
  272 + sourceTree = "<group>";
  273 + };
  274 + 17CD09A12858EE04008483E2 /* ViewController */ = {
  275 + isa = PBXGroup;
  276 + children = (
  277 + 17B0254528587716004225AE /* ChooseApartmentsViewController.swift */,
  278 + );
  279 + path = ViewController;
  280 + sourceTree = "<group>";
  281 + };
  282 + 17CD09A22858EE14008483E2 /* View */ = {
  283 + isa = PBXGroup;
  284 + children = (
  285 + 17B0254728587726004225AE /* ChooseApartmentsView.swift */,
  286 + 17CD09A52858EE4B008483E2 /* Cell */,
  287 + );
  288 + path = View;
  289 + sourceTree = "<group>";
  290 + };
  291 + 17CD09A52858EE4B008483E2 /* Cell */ = {
  292 + isa = PBXGroup;
  293 + children = (
  294 + 17CD09A32858EE39008483E2 /* ChooseApartmentsTableViewCell.swift */,
  295 + );
  296 + path = Cell;
  297 + sourceTree = "<group>";
  298 + };
  299 + 17CD09A62858F931008483E2 /* ResidentsScreen */ = {
  300 + isa = PBXGroup;
  301 + children = (
  302 + 17CD09A72858F955008483E2 /* ViewController */,
  303 + 17CD09A82858F962008483E2 /* View */,
  304 + );
  305 + path = ResidentsScreen;
  306 + sourceTree = "<group>";
  307 + };
  308 + 17CD09A72858F955008483E2 /* ViewController */ = {
  309 + isa = PBXGroup;
  310 + children = (
  311 + 17CD09A92858F979008483E2 /* ResidentsViewController.swift */,
  312 + );
  313 + path = ViewController;
  314 + sourceTree = "<group>";
  315 + };
  316 + 17CD09A82858F962008483E2 /* View */ = {
  317 + isa = PBXGroup;
  318 + children = (
  319 + 17CD09AB2858F9B0008483E2 /* ResidentsView.swift */,
  320 + );
  321 + path = View;
  322 + sourceTree = "<group>";
  323 + };
  324 + 17CD09AD28591073008483E2 /* AddResidentsViewController */ = {
  325 + isa = PBXGroup;
  326 + children = (
  327 + 17CD09AE2859108B008483E2 /* ViewController */,
  328 + 17CD09AF285910FA008483E2 /* View */,
  329 + );
  330 + path = AddResidentsViewController;
  331 + sourceTree = "<group>";
  332 + };
  333 + 17CD09AE2859108B008483E2 /* ViewController */ = {
  334 + isa = PBXGroup;
  335 + children = (
  336 + 17CD09B02859110A008483E2 /* AddResidentsViewController.swift */,
  337 + );
  338 + path = ViewController;
  339 + sourceTree = "<group>";
  340 + };
  341 + 17CD09AF285910FA008483E2 /* View */ = {
  342 + isa = PBXGroup;
  343 + children = (
  344 + 17CD09B2285911C8008483E2 /* AddResidentsView.swift */,
  345 + );
  346 + path = View;
  347 + sourceTree = "<group>";
  348 + };
235 349 17CF9ED42844ED8F000D8077 = {
236 350 isa = PBXGroup;
237 351 children = (
... ... @@ -255,6 +369,7 @@
255 369 17CF9EDF2844ED8F000D8077 /* InterQR-Internship */ = {
256 370 isa = PBXGroup;
257 371 children = (
  372 + 175DA4712852416D0075F0A9 /* Reusable+cell.swift */,
258 373 00E581B7284F71A700E779FB /* Common */,
259 374 00E581B0284F666000E779FB /* Modules */,
260 375 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */,
... ... @@ -420,27 +535,36 @@
420 535 isa = PBXSourcesBuildPhase;
421 536 buildActionMask = 2147483647;
422 537 files = (
  538 + 17CD09B12859110A008483E2 /* AddResidentsViewController.swift in Sources */,
  539 + 17ABE070285B80DC0006E7EC /* DisplayNameCell.swift in Sources */,
423 540 1729E22128465DA9006C7C29 /* PhonePickerModel.swift in Sources */,
424 541 17058D52284A4F150078DD82 /* CodeVerificationViewController.swift in Sources */,
425   - 1778DA402851042F006619C4 /* EditInfoView.swift in Sources */,
426 542 1732AC71284769B50042C9F7 /* TextFieldWithPadding.swift in Sources */,
427 543 17ABFE5A284FD293003B6959 /* HomeView.swift in Sources */,
428 544 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */,
429 545 1729E21F28465595006C7C29 /* PhoneNumberView.swift in Sources */,
  546 + 17ABE072285B810F0006E7EC /* SettingsTableViewCell.swift in Sources */,
  547 + 17CD09AC2858F9B0008483E2 /* ResidentsView.swift in Sources */,
  548 + 17B0254628587716004225AE /* ChooseApartmentsViewController.swift in Sources */,
  549 + 175DA4722852416D0075F0A9 /* Reusable+cell.swift in Sources */,
430 550 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */,
431 551 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */,
432 552 17058D54284A4F670078DD82 /* CodeVerificationView.swift in Sources */,
  553 + 175DA474285241C90075F0A9 /* SettingsModel.swift in Sources */,
433 554 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */,
  555 + 17CD09A42858EE39008483E2 /* ChooseApartmentsTableViewCell.swift in Sources */,
434 556 1729E21D28465163006C7C29 /* PhoneService.swift in Sources */,
435   - 1778DA3E2850FF89006619C4 /* NotificationsView.swift in Sources */,
436 557 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */,
437 558 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */,
438 559 1738F7DA2850F5F1003F1806 /* SettingsView.swift in Sources */,
  560 + 17CD09AA2858F979008483E2 /* ResidentsViewController.swift in Sources */,
439 561 00E581BB284F71CD00E779FB /* Checkbox.swift in Sources */,
440 562 17287C602848AD8D00AA7113 /* Fonts + Extension.swift in Sources */,
441   - 1738F7DC2850F980003F1806 /* ProfileView.swift in Sources */,
  563 + 17CD09B3285911C8008483E2 /* AddResidentsView.swift in Sources */,
442 564 178A61D12850DDAA001509A4 /* HomeTableViewCell.swift in Sources */,
  565 + 17ABE074285B81390006E7EC /* SettingsSwitchCell.swift in Sources */,
443 566 17CF9EF72844EF8B000D8077 /* VerificationView.swift in Sources */,
  567 + 17B0254828587726004225AE /* ChooseApartmentsView.swift in Sources */,
444 568 );
445 569 runOnlyForDeploymentPostprocessing = 0;
446 570 };
... ...
... ... @@ -3,4 +3,22 @@
3 3 uuid = "CB908779-2558-4E0D-A4CA-2068778D434A"
4 4 type = "0"
5 5 version = "2.0">
  6 + <Breakpoints>
  7 + <BreakpointProxy
  8 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  9 + <BreakpointContent
  10 + uuid = "BF66D3C2-0ECB-4FE6-BC84-3A1154618C5F"
  11 + shouldBeEnabled = "No"
  12 + ignoreCount = "0"
  13 + continueAfterRunningActions = "No"
  14 + filePath = "InterQR-Internship/Modules/AddResidentsViewController/View/AddResidentsView.swift"
  15 + startingColumnNumber = "9223372036854775807"
  16 + endingColumnNumber = "9223372036854775807"
  17 + startingLineNumber = "224"
  18 + endingLineNumber = "224"
  19 + landmarkName = "layoutSubviews()"
  20 + landmarkType = "7">
  21 + </BreakpointContent>
  22 + </BreakpointProxy>
  23 + </Breakpoints>
6 24 </Bucket>
... ...
... ... @@ -5,4 +5,222 @@
5 5 // Created by Дмитрий Тимофеев on 14.06.2022.
6 6 //
7 7
8   -import Foundation
  8 +import UIKit
  9 +
  10 +class AddResidentsView: UIView {
  11 + var transparentView: UIView = {
  12 + var obj = UIView()
  13 + obj.backgroundColor = .black
  14 + obj.alpha = 0.5
  15 + return obj
  16 + }()
  17 +
  18 + var containerView: UIView = {
  19 + var obj = UIView()
  20 + obj.clipsToBounds = true
  21 + obj.layer.cornerRadius = 15
  22 + obj.backgroundColor = .white
  23 + return obj
  24 + }()
  25 +
  26 + var addResidentLabeL: UILabel = {
  27 + var obj = UILabel()
  28 + obj.text = "Add resident"
  29 + obj.textColor = UIColor(red: 0.196, green: 0.216, blue: 0.333, alpha: 1)
  30 + obj.font = .skModernist(type: .bold, ofSize: 24)
  31 + return obj
  32 + }()
  33 +
  34 + var closeButton: UIButton = {
  35 + var obj = UIButton()
  36 + obj.layer.cornerRadius = 13
  37 + obj.layer.borderWidth = 1
  38 + obj.layer.borderColor = UIColor(red: 0.882, green: 0.91, blue: 0.91, alpha: 1).cgColor
  39 + obj.setImage(UIImage(named: "Close"), for: .normal)
  40 + return obj
  41 + }()
  42 +
  43 + var dividingLineView: UIView = {
  44 + var view = UIView()
  45 + view.backgroundColor = UIColor(red: 246/255, green: 246/255, blue: 246/255, alpha: 1)
  46 + return view
  47 + }()
  48 +
  49 + var residentNameLabel: UILabel = {
  50 + var obj = UILabel()
  51 + obj.text = "Resident name"
  52 + obj.font = .skModernist(type: .bold, ofSize: 14)
  53 + obj.textColor = UIColor(red: 0.196, green: 0.216, blue: 0.333, alpha: 1)
  54 + return obj
  55 + }()
  56 +
  57 + var nameTextField: UITextField = {
  58 + var obj = UITextField()
  59 + obj.backgroundColor = UIColor(red: 0.954, green: 0.954, blue: 0.954, alpha: 1)
  60 + obj.textAlignment = .left
  61 + obj.layer.cornerRadius = 15
  62 + return obj
  63 + }()
  64 +
  65 + var mobileNumberLabel: UILabel = {
  66 + var obj = UILabel()
  67 + obj.text = "Mobile number"
  68 + obj.font = .skModernist(type: .bold, ofSize: 14)
  69 + obj.textColor = UIColor(red: 0.196, green: 0.216, blue: 0.333, alpha: 1)
  70 + return obj
  71 + }()
  72 +
  73 + var mobileNumberTextField: UITextField = {
  74 + var obj = UITextField()
  75 + obj.backgroundColor = UIColor(red: 0.954, green: 0.954, blue: 0.954, alpha: 1)
  76 + obj.textAlignment = .left
  77 + obj.layer.cornerRadius = 15
  78 + return obj
  79 + }()
  80 +
  81 + var managerButton: UIButton = {
  82 + var obj = UIButton()
  83 +// obj.setImage(<#T##image: UIImage?##UIImage?#>, for: <#T##UIControl.State#>)
  84 + return obj
  85 + }()
  86 +
  87 + var hiddenButton: UIButton = {
  88 + var obj = UIButton()
  89 + return obj
  90 + }()
  91 +
  92 + var heartButton: UIButton = {
  93 + var obj = UIButton()
  94 + obj.setImage(UIImage(named: "Heart"), for: .normal)
  95 + obj.setImage(UIImage(named: "HeartRed"), for: .selected)
  96 + return obj
  97 + }()
  98 +
  99 + var gradientBG: CAGradientLayer = {
  100 + let obj = CAGradientLayer()
  101 + var leftColor = UIColor(red: 0/255, green: 68/255, blue: 139/255, alpha: 1).cgColor
  102 + var rightColor = UIColor(red: 0/255, green: 122/255, blue: 191/255, alpha: 1).cgColor
  103 + obj.colors = [leftColor, rightColor]
  104 + obj.startPoint = CGPoint(x: 0, y: 0.5)
  105 + obj.endPoint = CGPoint(x: 1, y: 0.5)
  106 + return obj
  107 + }()
  108 +
  109 + var addResidentButton: UIButton = {
  110 + var obj = UIButton()
  111 + obj.setTitle("Add resident", for: .normal)
  112 + obj.setTitleColor(UIColor(red: 1, green: 1, blue: 1, alpha: 1), for: .normal)
  113 + obj.titleLabel?.font = .skModernist(type: .bold, ofSize: 16)
  114 + obj.setTitleColor(.cyan, for: .normal)
  115 + obj.clipsToBounds = true
  116 + obj.layer.masksToBounds = true
  117 + return obj
  118 + }()
  119 +
  120 + override init(frame: CGRect) {
  121 + super.init(frame: frame)
  122 + layout()
  123 + backgroundColor = .clear
  124 + }
  125 +
  126 + required init?(coder: NSCoder) {
  127 + fatalError("init(coder:) has not been implemented")
  128 + }
  129 +
  130 + func layout() {
  131 + addResidentButton.layer.insertSublayer(gradientBG, at: 0)
  132 +
  133 + addSubview(transparentView)
  134 +
  135 + addSubview(containerView)
  136 + containerView.addSubview(addResidentLabeL)
  137 + containerView.addSubview(closeButton)
  138 + containerView.addSubview(dividingLineView)
  139 + containerView.addSubview(residentNameLabel)
  140 + containerView.addSubview(nameTextField)
  141 + containerView.addSubview(mobileNumberLabel)
  142 + containerView.addSubview(mobileNumberTextField)
  143 + containerView.addSubview(managerButton)
  144 + containerView.addSubview(hiddenButton)
  145 + containerView.addSubview(heartButton)
  146 + containerView.addSubview(addResidentButton)
  147 +
  148 + transparentView.snp.makeConstraints {
  149 + $0.leading.top.trailing.bottom.equalToSuperview()
  150 + }
  151 +
  152 + containerView.snp.makeConstraints {
  153 + $0.leading.trailing.equalToSuperview().inset(25)
  154 +// $0.top.equalToSuperview().offset(174)
  155 +// $0.bottom.equalToSuperview().offset(-201)
  156 + $0.centerY.equalToSuperview()
  157 + }
  158 +
  159 + addResidentLabeL.snp.makeConstraints {
  160 + $0.top.equalToSuperview().offset(34)
  161 + $0.leading.equalToSuperview().offset(28)
  162 + }
  163 +
  164 + closeButton.snp.makeConstraints {
  165 + $0.centerY.equalTo(addResidentLabeL)
  166 + $0.trailing.equalToSuperview().offset(-30)
  167 + $0.height.width.equalTo(45)
  168 + }
  169 +
  170 + dividingLineView.snp.makeConstraints {
  171 + $0.trailing.leading.equalToSuperview()
  172 + $0.height.equalTo(1)
  173 + $0.top.equalTo(addResidentLabeL.snp.bottom).offset(34)
  174 + }
  175 +
  176 + residentNameLabel.snp.makeConstraints {
  177 + $0.top.equalTo(dividingLineView.snp.bottom).offset(24)
  178 + $0.leading.equalToSuperview().offset(44)
  179 +
  180 + }
  181 +
  182 + nameTextField.snp.makeConstraints {
  183 + $0.leading.trailing.equalToSuperview().inset(30)
  184 + $0.top.equalTo(residentNameLabel.snp.bottom).offset(10)
  185 + $0.height.equalTo(47)
  186 + }
  187 +
  188 + mobileNumberLabel.snp.makeConstraints {
  189 + $0.leading.equalTo(residentNameLabel.snp.leading)
  190 + $0.top.equalTo(nameTextField.snp.bottom).offset(15)
  191 +
  192 + }
  193 +
  194 + mobileNumberTextField.snp.makeConstraints {
  195 + $0.leading.trailing.equalToSuperview().inset(30)
  196 + $0.top.equalTo(mobileNumberLabel.snp.bottom).offset(10)
  197 + $0.height.equalTo(47)
  198 + }
  199 +
  200 + managerButton.snp.makeConstraints {
  201 + $0.leading.equalToSuperview().offset(29)
  202 + $0.top.equalTo(mobileNumberTextField.snp.bottom).offset(30)
  203 + }
  204 +
  205 + hiddenButton.snp.makeConstraints {
  206 + $0.top.equalTo(managerButton)
  207 + $0.leading.equalTo(managerButton.snp.trailing).offset(24)
  208 + }
  209 +
  210 + heartButton.snp.makeConstraints {
  211 + $0.top.equalTo(managerButton)
  212 + $0.trailing.equalToSuperview().offset(-32.5)
  213 + }
  214 +
  215 + addResidentButton.snp.makeConstraints {
  216 + $0.top.equalTo(managerButton.snp.bottom).offset(43)
  217 + $0.leading.trailing.bottom.equalToSuperview()
  218 + $0.height.equalTo(45)
  219 + }
  220 + }
  221 +
  222 + override func layoutSubviews() {
  223 + super.layoutSubviews()
  224 + gradientBG.frame = addResidentButton.bounds
  225 + }
  226 +}
... ...
... ... @@ -9,7 +9,12 @@ import UIKit
9 9
10 10 class AddResidentsViewController: UIViewController {
11 11
  12 + var mainView = AddResidentsView()
  13 +
  14 + override func loadView() {
  15 + view = mainView
  16 + }
  17 +
12 18 override func viewDidLoad() {
13   - view.backgroundColor = .red
14 19 }
15 20 }
... ...
... ... @@ -48,10 +48,11 @@ class ChooseApartmentsTableViewCell: UITableViewCell {
48 48 }
49 49
50 50 func layout() {
51   - addSubview(apartmanImage)
52   - addSubview(clientNameLabel)
53   - addSubview(adressLabel)
54   - addSubview(nextPointerImage)
  51 + selectionStyle = .none
  52 + contentView.addSubview(apartmanImage)
  53 + contentView.addSubview(clientNameLabel)
  54 + contentView.addSubview(adressLabel)
  55 + contentView.addSubview(nextPointerImage)
55 56
56 57 apartmanImage.snp.makeConstraints {
57 58 $0.top.equalToSuperview().offset(8)
... ...
... ... @@ -41,7 +41,6 @@ class ChooseApartmentView: UIView {
41 41
42 42 var tableView: UITableView = {
43 43 var obj = UITableView()
44   - obj.allowsSelection = false
45 44 obj.showsVerticalScrollIndicator = false
46 45 return obj
47 46 }()
... ...
... ... @@ -21,10 +21,15 @@ class ChooseApartmentsViewController: UIViewController {
21 21 }
22 22
23 23 func initViewController() {
  24 + mainView.backButton.addTarget(self, action: #selector(backToSettingsVC), for: .touchUpInside)
24 25 mainView.tableView.delegate = self
25 26 mainView.tableView.dataSource = self
26 27 mainView.tableView.register(ChooseApartmentsTableViewCell.self, forCellReuseIdentifier: ChooseApartmentsTableViewCell.id)
27 28 }
  29 +
  30 + @objc func backToSettingsVC() {
  31 + navigationController?.popViewController(animated: true)
  32 + }
28 33 }
29 34 extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSource {
30 35 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
... ... @@ -40,8 +45,11 @@ extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSo
40 45 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
41 46 87
42 47 }
  48 +
43 49 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  50 + let vc = ResidentsViewController()
  51 + navigationController?.pushViewController(vc, animated: true)
  52 + print("❌")
44 53
45 54 }
46   -
47 55 }
... ...
... ... @@ -60,6 +60,7 @@ class HomeTableViewCell: UITableViewCell {
60 60 }
61 61
62 62 func layout() {
  63 + selectionStyle = .none
63 64 addSubview(containerView)
64 65 containerView.addSubview(leftStatusImage)
65 66 containerView.addSubview(doorNameLabel)
... ...
... ... @@ -42,7 +42,6 @@ class HomeView: UIView {
42 42 var tableView: UITableView = {
43 43 var obj = UITableView()
44 44 obj.separatorStyle = .none
45   - obj.allowsSelection = false
46 45 obj.showsVerticalScrollIndicator = false
47 46 return obj
48 47 }()
... ...
... ... @@ -30,7 +30,6 @@ class HomeViewController: UIViewController {
30 30 extension HomeViewController {
31 31
32 32 @objc func didShowSettingsVC() {
33   - print("❌")
34 33 let vc = SettingsViewController()
35 34 navigationController?.pushViewController(vc, animated: true)
36 35 }
... ... @@ -53,7 +52,7 @@ extension HomeViewController: UITableViewDelegate, UITableViewDataSource {
53 52 }
54 53
55 54 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
56   -
  55 + print("✅")
57 56 }
58 57
59 58
... ...
... ... @@ -5,4 +5,125 @@
5 5 // Created by Дмитрий Тимофеев on 14.06.2022.
6 6 //
7 7
8   -import Foundation
  8 +import UIKit
  9 +
  10 +class ResidentsView: UIView {
  11 +
  12 + var backButton: UIButton = {
  13 + var obj = UIButton()
  14 + obj.setImage(UIImage(named: "BackPointer"), for: .normal)
  15 + obj.backgroundColor = .white
  16 + obj.layer.borderColor = UIColor(red: 224/255, green: 231/255, blue: 232/255, alpha: 1).cgColor
  17 + obj.layer.cornerRadius = 13
  18 + obj.layer.borderWidth = 1
  19 + return obj
  20 + }()
  21 +
  22 + var logoImage: UIImageView = {
  23 + var obj = UIImageView()
  24 + obj.image = UIImage(named: "InterQR")
  25 + return obj
  26 + }()
  27 +
  28 + let apartNameLabel: UILabel = {
  29 + var obj = UILabel()
  30 + obj.font = .skModernist(type: .bold, ofSize: 35)
  31 + obj.text = "My apart name"
  32 + return obj
  33 + }()
  34 +
  35 + var dividingLineView: UIView = {
  36 + var view = UIView()
  37 + view.backgroundColor = UIColor(red: 246/255, green: 246/255, blue: 246/255, alpha: 1)
  38 + return view
  39 + }()
  40 +
  41 + var residentsLabel: UILabel = {
  42 + var obj = UILabel()
  43 + obj.font = .skModernist(type: .bold, ofSize: 20)
  44 + obj.text = "Residents"
  45 + return obj
  46 + }()
  47 +
  48 + var addResidentsButton: UIButton = {
  49 + var obj = UIButton()
  50 + obj.layer.borderWidth = 1
  51 + obj.layer.borderColor = UIColor(red: 0.882, green: 0.91, blue: 0.91, alpha: 1).cgColor
  52 + obj.layer.cornerRadius = 13
  53 + obj.setImage(UIImage(named: "Edit"), for: .normal)
  54 + return obj
  55 + }()
  56 +
  57 + let tableView: UITableView = {
  58 + let obj = UITableView()
  59 + obj.allowsSelection = false
  60 + obj.showsVerticalScrollIndicator = false
  61 + obj.separatorStyle = .none
  62 + return obj
  63 + }()
  64 +
  65 + let addResidentView: AddResidentsView = {
  66 + var obj = AddResidentsView()
  67 + obj.isHidden = true
  68 + return obj
  69 + }()
  70 +
  71 +
  72 + override init(frame: CGRect) {
  73 + super.init(frame: frame)
  74 + backgroundColor = .white
  75 + layout()
  76 + }
  77 +
  78 + required init?(coder: NSCoder) {
  79 + fatalError("init(coder:) has not been implemented")
  80 + }
  81 +
  82 + func layout() {
  83 +
  84 + addSubview(backButton)
  85 + addSubview(logoImage)
  86 + addSubview(apartNameLabel)
  87 + addSubview(dividingLineView)
  88 + addSubview(residentsLabel)
  89 + addSubview(addResidentsButton)
  90 + addSubview(tableView)
  91 + addSubview(addResidentView)
  92 +
  93 + backButton.snp.makeConstraints {
  94 + $0.top.equalTo(snp.top).offset(66)
  95 + $0.leading.equalTo(snp.leading).offset(25)
  96 + $0.height.width.equalTo(45)
  97 + }
  98 + logoImage.snp.makeConstraints {
  99 + $0.leading.equalTo(backButton.snp.trailing).offset(20)
  100 + $0.top.equalTo(snp.top).offset(79)
  101 + }
  102 + apartNameLabel.snp.makeConstraints {
  103 + $0.leading.equalTo(backButton.snp.leading)
  104 + $0.top.equalTo(backButton.snp.bottom).offset(46)
  105 + }
  106 + dividingLineView.snp.makeConstraints {
  107 + $0.leading.trailing.equalToSuperview()
  108 + $0.height.equalTo(1)
  109 + $0.top.equalTo(apartNameLabel.snp.bottom).offset(42)
  110 + }
  111 + residentsLabel.snp.makeConstraints {
  112 + $0.leading.equalToSuperview().offset(24)
  113 + $0.top.equalTo(dividingLineView.snp.bottom).offset(43)
  114 + }
  115 + addResidentsButton.snp.makeConstraints {
  116 + $0.height.width.equalTo(45)
  117 + $0.top.equalTo(dividingLineView.snp.bottom).offset(32)
  118 + $0.trailing.equalToSuperview().offset(-29)
  119 + }
  120 + tableView.snp.makeConstraints {
  121 + $0.top.equalTo(residentsLabel.snp.bottom).offset(30)
  122 + $0.leading.trailing.equalToSuperview()
  123 + $0.bottom.equalToSuperview()
  124 + }
  125 + addResidentView.snp.makeConstraints {
  126 + $0.top.trailing.leading.bottom.equalToSuperview()
  127 + }
  128 + }
  129 +}
... ...
... ... @@ -5,4 +5,32 @@
5 5 // Created by Дмитрий Тимофеев on 14.06.2022.
6 6 //
7 7
8   -import Foundation
  8 +import UIKit
  9 +
  10 +class ResidentsViewController: UIViewController {
  11 +
  12 + var mainView = ResidentsView()
  13 +
  14 + override func loadView() {
  15 + view = mainView
  16 + }
  17 +
  18 + override func viewDidLoad() {
  19 + mainView.backButton.addTarget(self, action: #selector(didShowChooseApartVC), for: .touchUpInside)
  20 + mainView.addResidentsButton.addTarget(self, action: #selector(willShowAddResidentVC), for: .touchUpInside)
  21 + }
  22 +
  23 + @objc func didShowChooseApartVC() {
  24 + navigationController?.popViewController(animated: true)
  25 + }
  26 +
  27 + @objc func willShowAddResidentVC() {
  28 +// UIView.animate(withDuration: 0.5) {
  29 +// self.mainView.addResidentView.isHidden = false
  30 +// }
  31 + let vc = AddResidentsViewController()
  32 + vc.modalPresentationStyle = .overCurrentContext
  33 + vc.modalTransitionStyle = .crossDissolve
  34 + present(vc, animated: true)
  35 + }
  36 +}
... ...
  1 +
1 2 //
2 3 // SettingsModel.swift
3 4 // InterQR-Internship
4 5 //
5   -// Created by Leyter on 09.06.2022.
  6 +// Created by Дмитрий Тимофеев on 09.06.2022.
6 7 //
7 8
8 9 import Foundation
... ...
... ... @@ -30,24 +30,18 @@ class SettingsView: UIView {
30 30 return obj
31 31 }()
32 32
33   - var settingsLabel: UILabel = {
  33 + let settingsLabel: UILabel = {
34 34 var obj = UILabel()
35 35 obj.font = .skModernist(type: .bold, ofSize: 35)
36 36 obj.text = "Settings"
37 37 return obj
38 38 }()
39   - var profileView: ProfileView = {
40   - var obj = ProfileView()
41   - return obj
42   - }()
43   - var notificationsView: NotificationsView = {
44   - var obj = NotificationsView()
45   - return obj
46   - }()
47   - var editInfo: EditInfoView = {
48   - var obj = EditInfoView()
  39 +
  40 + let settingsTableView: UITableView = {
  41 + let obj = UITableView()
49 42 return obj
50 43 }()
  44 +
51 45 var logoutButton: UIButton = {
52 46 var obj = UIButton()
53 47 obj.backgroundColor = UIColor(red: 1, green: 0, blue: 0.18, alpha: 0.07)
... ... @@ -72,9 +66,7 @@ class SettingsView: UIView {
72 66 addSubview(logoImage)
73 67 addSubview(gearImage)
74 68 addSubview(settingsLabel)
75   - addSubview(profileView)
76   - addSubview(notificationsView)
77   - addSubview(editInfo)
  69 + addSubview(settingsTableView)
78 70 addSubview(logoutButton)
79 71
80 72 backButton.snp.makeConstraints {
... ... @@ -94,27 +86,19 @@ class SettingsView: UIView {
94 86 $0.leading.equalTo(backButton.snp.leading)
95 87 $0.top.equalTo(backButton.snp.bottom).offset(46)
96 88 }
97   - profileView.snp.makeConstraints {
98   - $0.top.equalTo(settingsLabel.snp.bottom).offset(85)
99   - $0.leading.equalTo(snp.leading)
100   - $0.trailing.equalTo(snp.trailing)
101   - $0.height.equalTo(140)
102   - }
103   - notificationsView.snp.makeConstraints {
104   - $0.top.equalTo(profileView.snp.bottom)
105   - $0.leading.trailing.equalToSuperview()
106   - $0.height.equalTo(140)
107   - }
108   - editInfo.snp.makeConstraints {
109   - $0.top.equalTo(notificationsView.snp.bottom)
110   - $0.leading.trailing.equalToSuperview()
111   - $0.height.equalTo(102)
  89 +
  90 + settingsTableView.snp.makeConstraints { make in
  91 + make.leading.trailing.equalToSuperview()
  92 + make.top.equalTo(settingsLabel.snp.bottom).offset(85)
112 93 }
  94 +
113 95 logoutButton.snp.makeConstraints {
114   - $0.top.equalTo(editInfo.snp.bottom).offset(42)
  96 + $0.top.equalTo(settingsTableView.snp.bottom).offset(42)
115 97 $0.leading.equalTo(snp.leading).offset(25)
116 98 $0.trailing.equalTo(snp.trailing).offset(-26)
117 99 $0.height.equalTo(56)
  100 + $0.bottom.equalToSuperview().offset(-51)
118 101 }
119 102 }
120 103 }
  104 +
... ...
... ... @@ -11,12 +11,26 @@ class SettingsViewController: UIViewController {
11 11
12 12 var mainView = SettingsView()
13 13
  14 + let settingsModel = SettingsModel.allCases
  15 +
14 16 override func loadView() {
15 17 view = mainView
16 18 }
17 19 override func viewDidLoad() {
  20 + super.viewDidLoad()
  21 + initViewController()
  22 + }
  23 +
  24 + private func initViewController() {
18 25 mainView.backButton.addTarget(self, action: #selector(didShowHomeVC), for: .touchUpInside)
19 26 mainView.logoutButton.addTarget(self, action: #selector(didLogoutAndShowVerificationVC), for: .touchUpInside)
  27 +
  28 + mainView.settingsTableView.registerReusableCell(DisplayNameCell.self)
  29 + mainView.settingsTableView.registerReusableCell(SettingsSwitchCell.self)
  30 + mainView.settingsTableView.registerReusableCell(SettingsTableViewCell.self)
  31 +
  32 + mainView.settingsTableView.delegate = self
  33 + mainView.settingsTableView.dataSource = self
20 34 }
21 35 }
22 36
... ... @@ -31,3 +45,45 @@ extension SettingsViewController {
31 45 navigationController?.pushViewController(vc, animated: true)
32 46 }
33 47 }
  48 +
  49 +//MARK: tableView delegate and datasource
  50 +extension SettingsViewController: UITableViewDelegate, UITableViewDataSource {
  51 + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  52 + return settingsModel.count
  53 + }
  54 +
  55 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  56 + let row = indexPath.row
  57 + let model: SettingsModel = settingsModel[row]
  58 +
  59 + switch model {
  60 + case .displayName:
  61 + let cell: DisplayNameCell = tableView.dequeueReusableCell(for: indexPath)
  62 + cell.titleLabel.text = model.getTitle()
  63 + cell.descriptionLabel.text = model.getDescription()
  64 + cell.settingsIcon.image = model.getIcon()
  65 + return cell
  66 + case .doNotDisturb, .ringtone:
  67 + let cell: SettingsSwitchCell = tableView.dequeueReusableCell(for: indexPath)
  68 + cell.titleLabel.text = model.getTitle()
  69 + cell.descriptionLabel.text = model.getDescription()
  70 + cell.settingsIcon.image = model.getIcon()
  71 + // cell.delegate = self
  72 + return cell
  73 + case .editResidents, .widgetLock:
  74 + let cell: SettingsTableViewCell = tableView.dequeueReusableCell(for: indexPath)
  75 + cell.titleLabel.text = model.getTitle()
  76 + cell.descriptionLabel.text = model.getDescription()
  77 + cell.settingsIcon.image = model.getIcon()
  78 + return cell
  79 + }
  80 + }
  81 + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  82 + if indexPath.row == 3 {
  83 + let vc = ChooseApartmentsViewController()
  84 + navigationController?.pushViewController(vc, animated: true)
  85 + }
  86 +
  87 + }
  88 +}
  89 +
... ...
... ... @@ -8,13 +8,6 @@
8 8 import UIKit
9 9
10 10 class TextFieldWithPadding: UITextField {
11   -
12   - var textPaddingForEmail = UIEdgeInsets(
13   - top: 0,
14   - left: 22,
15   - bottom: 0,
16   - right: 22
17   - )
18 11 var textPaddingForPhone = UIEdgeInsets(
19 12 top: 0,
20 13 left: 78,
... ...
... ... @@ -73,12 +73,14 @@ class VerificationView: UIView {
73 73 view.backgroundColor = UIColor(red: 246/255, green: 246/255, blue: 246/255, alpha: 1)
74 74 return view
75 75 }()
  76 +
76 77 var enterChosenAuthenticatorLabel: UILabel = {
77 78 var label = UILabel()
78 79 label.text = "Enter your email address"
79 80 label.font = UIFont(name: SkModernistFontType.bold.rawValue, size: 16)
80 81 return label
81 82 }()
  83 +
82 84 var emailTextField: UITextField = {
83 85 var textField = UITextField()
84 86 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1)
... ... @@ -93,6 +95,7 @@ class VerificationView: UIView {
93 95 textField.returnKeyType = .done
94 96 return textField
95 97 }()
  98 +
96 99 var phoneTextField: TextFieldWithPadding = {
97 100 var textField = TextFieldWithPadding()
98 101 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1)
... ... @@ -105,6 +108,7 @@ class VerificationView: UIView {
105 108 textField.isHidden = true
106 109 return textField
107 110 }()
  111 +
108 112 var verificationDescriptionLabel: UILabel = {
109 113 var label = UILabel()
110 114 label.numberOfLines = 0
... ... @@ -113,6 +117,7 @@ class VerificationView: UIView {
113 117 label.font = .systemFont(ofSize: 14, weight: .regular)
114 118 return label
115 119 }()
  120 +
116 121 var continueButton: UIButton = {
117 122 var button = UIButton()
118 123 button.setImage(UIImage(named: "RectangleWithShadow"), for: .normal)
... ... @@ -121,6 +126,7 @@ class VerificationView: UIView {
121 126 button.layer.cornerRadius = 15
122 127 return button
123 128 }()
  129 +
124 130 var continueLabel: UILabel = {
125 131 var label = UILabel()
126 132 label.text = "Continue"
... ... @@ -128,21 +134,25 @@ class VerificationView: UIView {
128 134 label.textColor = .white
129 135 return label
130 136 }()
  137 +
131 138 var pointerImage: UIImageView = {
132 139 var image = UIImageView()
133 140 image.image = UIImage(named: "Pointer")
134 141 return image
135 142 }()
  143 +
136 144 var phonePickerView: PhoneNumberView = {
137 145 var view = PhoneNumberView()
138 146 view.isUserInteractionEnabled = true
139 147 return view
140 148 }()
  149 +
141 150 var showPickerButton: UIButton = {
142 151 var button = UIButton()
143 152 button.isHidden = true
144 153 return button
145 154 }()
  155 +
146 156 var flagPickerView: UIImageView = {
147 157 var image = UIImageView()
148 158 image.image = UIImage(named: "USA")
... ... @@ -150,6 +160,7 @@ class VerificationView: UIView {
150 160 image.contentMode = .scaleAspectFit
151 161 return image
152 162 }()
  163 +
153 164 var flagPointerView: UIImageView = {
154 165 var image = UIImageView()
155 166 image.image = UIImage(named: "FlagPointer")
... ...
... ... @@ -8,7 +8,7 @@
8 8 import Foundation
9 9 import UIKit
10 10
11   -protocol Reusable: class {
  11 +protocol Reusable: AnyObject {
12 12 static var reuseIdentifier: String { get }
13 13 }
14 14
... ...
... ... @@ -18,7 +18,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
18 18 window = UIWindow(windowScene: windowScene)
19 19 let viewController = VerificationViewController()
20 20 let homeVC = HomeViewController()
21   - let navigation = UINavigationController(rootViewController: homeVC)
  21 + let residentVC = ResidentsViewController()
  22 + let navigation = UINavigationController(rootViewController: residentVC)
22 23 navigation.isNavigationBarHidden = true
23 24 window?.rootViewController = navigation
24 25 window?.makeKeyAndVisible()
... ...
Please register or login to post a comment