Commit 22a64cd8b3d8bf91c30a0551b866f8dd6c833ae0

Authored by Dmitriy Tymofyeyev
1 parent 64863b18

added missing file

@@ -21,12 +21,21 @@ @@ -21,12 +21,21 @@
21 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */; }; 21 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */; };
22 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */; }; 22 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */; };
23 1738F7DA2850F5F1003F1806 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1738F7D92850F5F1003F1806 /* SettingsView.swift */; }; 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 178A61D12850DDAA001509A4 /* HomeTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178A61D02850DDAA001509A4 /* HomeTableViewCell.swift */; }; 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 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABFE57284FD20C003B6959 /* HomeViewController.swift */; }; 30 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABFE57284FD20C003B6959 /* HomeViewController.swift */; };
29 17ABFE5A284FD293003B6959 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ABFE59284FD293003B6959 /* HomeView.swift */; }; 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 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */; }; 39 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */; };
31 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */; }; 40 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */; };
32 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE42844ED8F000D8077 /* VerificationViewController.swift */; }; 41 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CF9EE42844ED8F000D8077 /* VerificationViewController.swift */; };
@@ -51,12 +60,21 @@ @@ -51,12 +60,21 @@
51 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerViewCell.swift; sourceTree = "<group>"; }; 60 1732AC7228477BB40042C9F7 /* PickerViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerViewCell.swift; sourceTree = "<group>"; };
52 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = "<group>"; }; 61 1738F7D72850F5D5003F1806 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = "<group>"; };
53 1738F7D92850F5F1003F1806 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; }; 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 178A61D02850DDAA001509A4 /* HomeTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTableViewCell.swift; sourceTree = "<group>"; }; 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 17ABFE57284FD20C003B6959 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; }; 69 17ABFE57284FD20C003B6959 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; };
59 17ABFE59284FD293003B6959 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; }; 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 17CF9EDD2844ED8F000D8077 /* InterQR-Internship.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "InterQR-Internship.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 78 17CF9EDD2844ED8F000D8077 /* InterQR-Internship.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "InterQR-Internship.app"; sourceTree = BUILT_PRODUCTS_DIR; };
61 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 79 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
62 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; }; 80 17CF9EE22844ED8F000D8077 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
@@ -85,6 +103,9 @@ @@ -85,6 +103,9 @@
85 00E581B0284F666000E779FB /* Modules */ = { 103 00E581B0284F666000E779FB /* Modules */ = {
86 isa = PBXGroup; 104 isa = PBXGroup;
87 children = ( 105 children = (
  106 + 17CD09AD28591073008483E2 /* AddResidentsViewController */,
  107 + 17CD09A62858F931008483E2 /* ResidentsScreen */,
  108 + 17B0254328587434004225AE /* ChooseApartmentsScreen */,
88 1738F7D42850F5A1003F1806 /* SettingsScreen */, 109 1738F7D42850F5A1003F1806 /* SettingsScreen */,
89 17ABFE54284FD1C8003B6959 /* HomeScreen */, 110 17ABFE54284FD1C8003B6959 /* HomeScreen */,
90 00E581B1284F666600E779FB /* VerificationSceen */, 111 00E581B1284F666600E779FB /* VerificationSceen */,
@@ -181,6 +202,7 @@ @@ -181,6 +202,7 @@
181 1738F7D42850F5A1003F1806 /* SettingsScreen */ = { 202 1738F7D42850F5A1003F1806 /* SettingsScreen */ = {
182 isa = PBXGroup; 203 isa = PBXGroup;
183 children = ( 204 children = (
  205 + 175DA473285241C90075F0A9 /* SettingsModel.swift */,
184 1738F7D62850F5C3003F1806 /* ViewController */, 206 1738F7D62850F5C3003F1806 /* ViewController */,
185 1738F7D52850F5B5003F1806 /* View */, 207 1738F7D52850F5B5003F1806 /* View */,
186 ); 208 );
@@ -191,9 +213,7 @@ @@ -191,9 +213,7 @@
191 isa = PBXGroup; 213 isa = PBXGroup;
192 children = ( 214 children = (
193 1738F7D92850F5F1003F1806 /* SettingsView.swift */, 215 1738F7D92850F5F1003F1806 /* SettingsView.swift */,
194 - 1738F7DB2850F980003F1806 /* ProfileView.swift */,  
195 - 1778DA3D2850FF89006619C4 /* NotificationsView.swift */,  
196 - 1778DA3F2851042F006619C4 /* EditInfoView.swift */, 216 + 175DA46A2852406B0075F0A9 /* Cells */,
197 ); 217 );
198 path = View; 218 path = View;
199 sourceTree = "<group>"; 219 sourceTree = "<group>";
@@ -206,6 +226,16 @@ @@ -206,6 +226,16 @@
206 path = ViewController; 226 path = ViewController;
207 sourceTree = "<group>"; 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 17ABFE54284FD1C8003B6959 /* HomeScreen */ = { 239 17ABFE54284FD1C8003B6959 /* HomeScreen */ = {
210 isa = PBXGroup; 240 isa = PBXGroup;
211 children = ( 241 children = (
@@ -232,6 +262,90 @@ @@ -232,6 +262,90 @@
232 path = VIew; 262 path = VIew;
233 sourceTree = "<group>"; 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 17CF9ED42844ED8F000D8077 = { 349 17CF9ED42844ED8F000D8077 = {
236 isa = PBXGroup; 350 isa = PBXGroup;
237 children = ( 351 children = (
@@ -255,6 +369,7 @@ @@ -255,6 +369,7 @@
255 17CF9EDF2844ED8F000D8077 /* InterQR-Internship */ = { 369 17CF9EDF2844ED8F000D8077 /* InterQR-Internship */ = {
256 isa = PBXGroup; 370 isa = PBXGroup;
257 children = ( 371 children = (
  372 + 175DA4712852416D0075F0A9 /* Reusable+cell.swift */,
258 00E581B7284F71A700E779FB /* Common */, 373 00E581B7284F71A700E779FB /* Common */,
259 00E581B0284F666000E779FB /* Modules */, 374 00E581B0284F666000E779FB /* Modules */,
260 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */, 375 17CF9EE02844ED8F000D8077 /* AppDelegate.swift */,
@@ -420,27 +535,36 @@ @@ -420,27 +535,36 @@
420 isa = PBXSourcesBuildPhase; 535 isa = PBXSourcesBuildPhase;
421 buildActionMask = 2147483647; 536 buildActionMask = 2147483647;
422 files = ( 537 files = (
  538 + 17CD09B12859110A008483E2 /* AddResidentsViewController.swift in Sources */,
  539 + 17ABE070285B80DC0006E7EC /* DisplayNameCell.swift in Sources */,
423 1729E22128465DA9006C7C29 /* PhonePickerModel.swift in Sources */, 540 1729E22128465DA9006C7C29 /* PhonePickerModel.swift in Sources */,
424 17058D52284A4F150078DD82 /* CodeVerificationViewController.swift in Sources */, 541 17058D52284A4F150078DD82 /* CodeVerificationViewController.swift in Sources */,
425 - 1778DA402851042F006619C4 /* EditInfoView.swift in Sources */,  
426 1732AC71284769B50042C9F7 /* TextFieldWithPadding.swift in Sources */, 542 1732AC71284769B50042C9F7 /* TextFieldWithPadding.swift in Sources */,
427 17ABFE5A284FD293003B6959 /* HomeView.swift in Sources */, 543 17ABFE5A284FD293003B6959 /* HomeView.swift in Sources */,
428 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */, 544 1732AC7328477BB40042C9F7 /* PickerViewCell.swift in Sources */,
429 1729E21F28465595006C7C29 /* PhoneNumberView.swift in Sources */, 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 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */, 550 17ABFE58284FD20C003B6959 /* HomeViewController.swift in Sources */,
431 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */, 551 17CF9EE52844ED8F000D8077 /* VerificationViewController.swift in Sources */,
432 17058D54284A4F670078DD82 /* CodeVerificationView.swift in Sources */, 552 17058D54284A4F670078DD82 /* CodeVerificationView.swift in Sources */,
  553 + 175DA474285241C90075F0A9 /* SettingsModel.swift in Sources */,
433 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */, 554 17CF9EE12844ED8F000D8077 /* AppDelegate.swift in Sources */,
  555 + 17CD09A42858EE39008483E2 /* ChooseApartmentsTableViewCell.swift in Sources */,
434 1729E21D28465163006C7C29 /* PhoneService.swift in Sources */, 556 1729E21D28465163006C7C29 /* PhoneService.swift in Sources */,
435 - 1778DA3E2850FF89006619C4 /* NotificationsView.swift in Sources */,  
436 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */, 557 17CF9EE32844ED8F000D8077 /* SceneDelegate.swift in Sources */,
437 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */, 558 1738F7D82850F5D5003F1806 /* SettingsViewController.swift in Sources */,
438 1738F7DA2850F5F1003F1806 /* SettingsView.swift in Sources */, 559 1738F7DA2850F5F1003F1806 /* SettingsView.swift in Sources */,
  560 + 17CD09AA2858F979008483E2 /* ResidentsViewController.swift in Sources */,
439 00E581BB284F71CD00E779FB /* Checkbox.swift in Sources */, 561 00E581BB284F71CD00E779FB /* Checkbox.swift in Sources */,
440 17287C602848AD8D00AA7113 /* Fonts + Extension.swift in Sources */, 562 17287C602848AD8D00AA7113 /* Fonts + Extension.swift in Sources */,
441 - 1738F7DC2850F980003F1806 /* ProfileView.swift in Sources */, 563 + 17CD09B3285911C8008483E2 /* AddResidentsView.swift in Sources */,
442 178A61D12850DDAA001509A4 /* HomeTableViewCell.swift in Sources */, 564 178A61D12850DDAA001509A4 /* HomeTableViewCell.swift in Sources */,
  565 + 17ABE074285B81390006E7EC /* SettingsSwitchCell.swift in Sources */,
443 17CF9EF72844EF8B000D8077 /* VerificationView.swift in Sources */, 566 17CF9EF72844EF8B000D8077 /* VerificationView.swift in Sources */,
  567 + 17B0254828587726004225AE /* ChooseApartmentsView.swift in Sources */,
444 ); 568 );
445 runOnlyForDeploymentPostprocessing = 0; 569 runOnlyForDeploymentPostprocessing = 0;
446 }; 570 };
@@ -3,4 +3,22 @@ @@ -3,4 +3,22 @@
3 uuid = "CB908779-2558-4E0D-A4CA-2068778D434A" 3 uuid = "CB908779-2558-4E0D-A4CA-2068778D434A"
4 type = "0" 4 type = "0"
5 version = "2.0"> 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 </Bucket> 24 </Bucket>
@@ -5,4 +5,222 @@ @@ -5,4 +5,222 @@
5 // Created by Дмитрий Тимофеев on 14.06.2022. 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,7 +9,12 @@ import UIKit
9 9
10 class AddResidentsViewController: UIViewController { 10 class AddResidentsViewController: UIViewController {
11 11
  12 + var mainView = AddResidentsView()
  13 +
  14 + override func loadView() {
  15 + view = mainView
  16 + }
  17 +
12 override func viewDidLoad() { 18 override func viewDidLoad() {
13 - view.backgroundColor = .red  
14 } 19 }
15 } 20 }
@@ -48,10 +48,11 @@ class ChooseApartmentsTableViewCell: UITableViewCell { @@ -48,10 +48,11 @@ class ChooseApartmentsTableViewCell: UITableViewCell {
48 } 48 }
49 49
50 func layout() { 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 apartmanImage.snp.makeConstraints { 57 apartmanImage.snp.makeConstraints {
57 $0.top.equalToSuperview().offset(8) 58 $0.top.equalToSuperview().offset(8)
@@ -41,7 +41,6 @@ class ChooseApartmentView: UIView { @@ -41,7 +41,6 @@ class ChooseApartmentView: UIView {
41 41
42 var tableView: UITableView = { 42 var tableView: UITableView = {
43 var obj = UITableView() 43 var obj = UITableView()
44 - obj.allowsSelection = false  
45 obj.showsVerticalScrollIndicator = false 44 obj.showsVerticalScrollIndicator = false
46 return obj 45 return obj
47 }() 46 }()
@@ -21,10 +21,15 @@ class ChooseApartmentsViewController: UIViewController { @@ -21,10 +21,15 @@ class ChooseApartmentsViewController: UIViewController {
21 } 21 }
22 22
23 func initViewController() { 23 func initViewController() {
  24 + mainView.backButton.addTarget(self, action: #selector(backToSettingsVC), for: .touchUpInside)
24 mainView.tableView.delegate = self 25 mainView.tableView.delegate = self
25 mainView.tableView.dataSource = self 26 mainView.tableView.dataSource = self
26 mainView.tableView.register(ChooseApartmentsTableViewCell.self, forCellReuseIdentifier: ChooseApartmentsTableViewCell.id) 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 extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSource { 34 extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSource {
30 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 35 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -40,8 +45,11 @@ extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSo @@ -40,8 +45,11 @@ extension ChooseApartmentsViewController: UITableViewDelegate, UITableViewDataSo
40 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 45 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
41 87 46 87
42 } 47 }
  48 +
43 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 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,6 +60,7 @@ class HomeTableViewCell: UITableViewCell {
60 } 60 }
61 61
62 func layout() { 62 func layout() {
  63 + selectionStyle = .none
63 addSubview(containerView) 64 addSubview(containerView)
64 containerView.addSubview(leftStatusImage) 65 containerView.addSubview(leftStatusImage)
65 containerView.addSubview(doorNameLabel) 66 containerView.addSubview(doorNameLabel)
@@ -42,7 +42,6 @@ class HomeView: UIView { @@ -42,7 +42,6 @@ class HomeView: UIView {
42 var tableView: UITableView = { 42 var tableView: UITableView = {
43 var obj = UITableView() 43 var obj = UITableView()
44 obj.separatorStyle = .none 44 obj.separatorStyle = .none
45 - obj.allowsSelection = false  
46 obj.showsVerticalScrollIndicator = false 45 obj.showsVerticalScrollIndicator = false
47 return obj 46 return obj
48 }() 47 }()
@@ -30,7 +30,6 @@ class HomeViewController: UIViewController { @@ -30,7 +30,6 @@ class HomeViewController: UIViewController {
30 extension HomeViewController { 30 extension HomeViewController {
31 31
32 @objc func didShowSettingsVC() { 32 @objc func didShowSettingsVC() {
33 - print("❌")  
34 let vc = SettingsViewController() 33 let vc = SettingsViewController()
35 navigationController?.pushViewController(vc, animated: true) 34 navigationController?.pushViewController(vc, animated: true)
36 } 35 }
@@ -53,7 +52,7 @@ extension HomeViewController: UITableViewDelegate, UITableViewDataSource { @@ -53,7 +52,7 @@ extension HomeViewController: UITableViewDelegate, UITableViewDataSource {
53 } 52 }
54 53
55 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 54 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
56 - 55 + print("✅")
57 } 56 }
58 57
59 58
@@ -5,4 +5,125 @@ @@ -5,4 +5,125 @@
5 // Created by Дмитрий Тимофеев on 14.06.2022. 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,4 +5,32 @@
5 // Created by Дмитрий Тимофеев on 14.06.2022. 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 // SettingsModel.swift 3 // SettingsModel.swift
3 // InterQR-Internship 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 import Foundation 9 import Foundation
@@ -30,24 +30,18 @@ class SettingsView: UIView { @@ -30,24 +30,18 @@ class SettingsView: UIView {
30 return obj 30 return obj
31 }() 31 }()
32 32
33 - var settingsLabel: UILabel = { 33 + let settingsLabel: UILabel = {
34 var obj = UILabel() 34 var obj = UILabel()
35 obj.font = .skModernist(type: .bold, ofSize: 35) 35 obj.font = .skModernist(type: .bold, ofSize: 35)
36 obj.text = "Settings" 36 obj.text = "Settings"
37 return obj 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 return obj 42 return obj
50 }() 43 }()
  44 +
51 var logoutButton: UIButton = { 45 var logoutButton: UIButton = {
52 var obj = UIButton() 46 var obj = UIButton()
53 obj.backgroundColor = UIColor(red: 1, green: 0, blue: 0.18, alpha: 0.07) 47 obj.backgroundColor = UIColor(red: 1, green: 0, blue: 0.18, alpha: 0.07)
@@ -72,9 +66,7 @@ class SettingsView: UIView { @@ -72,9 +66,7 @@ class SettingsView: UIView {
72 addSubview(logoImage) 66 addSubview(logoImage)
73 addSubview(gearImage) 67 addSubview(gearImage)
74 addSubview(settingsLabel) 68 addSubview(settingsLabel)
75 - addSubview(profileView)  
76 - addSubview(notificationsView)  
77 - addSubview(editInfo) 69 + addSubview(settingsTableView)
78 addSubview(logoutButton) 70 addSubview(logoutButton)
79 71
80 backButton.snp.makeConstraints { 72 backButton.snp.makeConstraints {
@@ -94,27 +86,19 @@ class SettingsView: UIView { @@ -94,27 +86,19 @@ class SettingsView: UIView {
94 $0.leading.equalTo(backButton.snp.leading) 86 $0.leading.equalTo(backButton.snp.leading)
95 $0.top.equalTo(backButton.snp.bottom).offset(46) 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 logoutButton.snp.makeConstraints { 95 logoutButton.snp.makeConstraints {
114 - $0.top.equalTo(editInfo.snp.bottom).offset(42) 96 + $0.top.equalTo(settingsTableView.snp.bottom).offset(42)
115 $0.leading.equalTo(snp.leading).offset(25) 97 $0.leading.equalTo(snp.leading).offset(25)
116 $0.trailing.equalTo(snp.trailing).offset(-26) 98 $0.trailing.equalTo(snp.trailing).offset(-26)
117 $0.height.equalTo(56) 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,12 +11,26 @@ class SettingsViewController: UIViewController {
11 11
12 var mainView = SettingsView() 12 var mainView = SettingsView()
13 13
  14 + let settingsModel = SettingsModel.allCases
  15 +
14 override func loadView() { 16 override func loadView() {
15 view = mainView 17 view = mainView
16 } 18 }
17 override func viewDidLoad() { 19 override func viewDidLoad() {
  20 + super.viewDidLoad()
  21 + initViewController()
  22 + }
  23 +
  24 + private func initViewController() {
18 mainView.backButton.addTarget(self, action: #selector(didShowHomeVC), for: .touchUpInside) 25 mainView.backButton.addTarget(self, action: #selector(didShowHomeVC), for: .touchUpInside)
19 mainView.logoutButton.addTarget(self, action: #selector(didLogoutAndShowVerificationVC), for: .touchUpInside) 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,3 +45,45 @@ extension SettingsViewController {
31 navigationController?.pushViewController(vc, animated: true) 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,13 +8,6 @@
8 import UIKit 8 import UIKit
9 9
10 class TextFieldWithPadding: UITextField { 10 class TextFieldWithPadding: UITextField {
11 -  
12 - var textPaddingForEmail = UIEdgeInsets(  
13 - top: 0,  
14 - left: 22,  
15 - bottom: 0,  
16 - right: 22  
17 - )  
18 var textPaddingForPhone = UIEdgeInsets( 11 var textPaddingForPhone = UIEdgeInsets(
19 top: 0, 12 top: 0,
20 left: 78, 13 left: 78,
@@ -73,12 +73,14 @@ class VerificationView: UIView { @@ -73,12 +73,14 @@ class VerificationView: UIView {
73 view.backgroundColor = UIColor(red: 246/255, green: 246/255, blue: 246/255, alpha: 1) 73 view.backgroundColor = UIColor(red: 246/255, green: 246/255, blue: 246/255, alpha: 1)
74 return view 74 return view
75 }() 75 }()
  76 +
76 var enterChosenAuthenticatorLabel: UILabel = { 77 var enterChosenAuthenticatorLabel: UILabel = {
77 var label = UILabel() 78 var label = UILabel()
78 label.text = "Enter your email address" 79 label.text = "Enter your email address"
79 label.font = UIFont(name: SkModernistFontType.bold.rawValue, size: 16) 80 label.font = UIFont(name: SkModernistFontType.bold.rawValue, size: 16)
80 return label 81 return label
81 }() 82 }()
  83 +
82 var emailTextField: UITextField = { 84 var emailTextField: UITextField = {
83 var textField = UITextField() 85 var textField = UITextField()
84 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1) 86 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1)
@@ -93,6 +95,7 @@ class VerificationView: UIView { @@ -93,6 +95,7 @@ class VerificationView: UIView {
93 textField.returnKeyType = .done 95 textField.returnKeyType = .done
94 return textField 96 return textField
95 }() 97 }()
  98 +
96 var phoneTextField: TextFieldWithPadding = { 99 var phoneTextField: TextFieldWithPadding = {
97 var textField = TextFieldWithPadding() 100 var textField = TextFieldWithPadding()
98 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1) 101 textField.backgroundColor = UIColor(red: 243/255, green: 243/255, blue: 243/255, alpha: 1)
@@ -105,6 +108,7 @@ class VerificationView: UIView { @@ -105,6 +108,7 @@ class VerificationView: UIView {
105 textField.isHidden = true 108 textField.isHidden = true
106 return textField 109 return textField
107 }() 110 }()
  111 +
108 var verificationDescriptionLabel: UILabel = { 112 var verificationDescriptionLabel: UILabel = {
109 var label = UILabel() 113 var label = UILabel()
110 label.numberOfLines = 0 114 label.numberOfLines = 0
@@ -113,6 +117,7 @@ class VerificationView: UIView { @@ -113,6 +117,7 @@ class VerificationView: UIView {
113 label.font = .systemFont(ofSize: 14, weight: .regular) 117 label.font = .systemFont(ofSize: 14, weight: .regular)
114 return label 118 return label
115 }() 119 }()
  120 +
116 var continueButton: UIButton = { 121 var continueButton: UIButton = {
117 var button = UIButton() 122 var button = UIButton()
118 button.setImage(UIImage(named: "RectangleWithShadow"), for: .normal) 123 button.setImage(UIImage(named: "RectangleWithShadow"), for: .normal)
@@ -121,6 +126,7 @@ class VerificationView: UIView { @@ -121,6 +126,7 @@ class VerificationView: UIView {
121 button.layer.cornerRadius = 15 126 button.layer.cornerRadius = 15
122 return button 127 return button
123 }() 128 }()
  129 +
124 var continueLabel: UILabel = { 130 var continueLabel: UILabel = {
125 var label = UILabel() 131 var label = UILabel()
126 label.text = "Continue" 132 label.text = "Continue"
@@ -128,21 +134,25 @@ class VerificationView: UIView { @@ -128,21 +134,25 @@ class VerificationView: UIView {
128 label.textColor = .white 134 label.textColor = .white
129 return label 135 return label
130 }() 136 }()
  137 +
131 var pointerImage: UIImageView = { 138 var pointerImage: UIImageView = {
132 var image = UIImageView() 139 var image = UIImageView()
133 image.image = UIImage(named: "Pointer") 140 image.image = UIImage(named: "Pointer")
134 return image 141 return image
135 }() 142 }()
  143 +
136 var phonePickerView: PhoneNumberView = { 144 var phonePickerView: PhoneNumberView = {
137 var view = PhoneNumberView() 145 var view = PhoneNumberView()
138 view.isUserInteractionEnabled = true 146 view.isUserInteractionEnabled = true
139 return view 147 return view
140 }() 148 }()
  149 +
141 var showPickerButton: UIButton = { 150 var showPickerButton: UIButton = {
142 var button = UIButton() 151 var button = UIButton()
143 button.isHidden = true 152 button.isHidden = true
144 return button 153 return button
145 }() 154 }()
  155 +
146 var flagPickerView: UIImageView = { 156 var flagPickerView: UIImageView = {
147 var image = UIImageView() 157 var image = UIImageView()
148 image.image = UIImage(named: "USA") 158 image.image = UIImage(named: "USA")
@@ -150,6 +160,7 @@ class VerificationView: UIView { @@ -150,6 +160,7 @@ class VerificationView: UIView {
150 image.contentMode = .scaleAspectFit 160 image.contentMode = .scaleAspectFit
151 return image 161 return image
152 }() 162 }()
  163 +
153 var flagPointerView: UIImageView = { 164 var flagPointerView: UIImageView = {
154 var image = UIImageView() 165 var image = UIImageView()
155 image.image = UIImage(named: "FlagPointer") 166 image.image = UIImage(named: "FlagPointer")
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 import Foundation 8 import Foundation
9 import UIKit 9 import UIKit
10 10
11 -protocol Reusable: class { 11 +protocol Reusable: AnyObject {
12 static var reuseIdentifier: String { get } 12 static var reuseIdentifier: String { get }
13 } 13 }
14 14
@@ -18,7 +18,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { @@ -18,7 +18,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
18 window = UIWindow(windowScene: windowScene) 18 window = UIWindow(windowScene: windowScene)
19 let viewController = VerificationViewController() 19 let viewController = VerificationViewController()
20 let homeVC = HomeViewController() 20 let homeVC = HomeViewController()
21 - let navigation = UINavigationController(rootViewController: homeVC) 21 + let residentVC = ResidentsViewController()
  22 + let navigation = UINavigationController(rootViewController: residentVC)
22 navigation.isNavigationBarHidden = true 23 navigation.isNavigationBarHidden = true
23 window?.rootViewController = navigation 24 window?.rootViewController = navigation
24 window?.makeKeyAndVisible() 25 window?.makeKeyAndVisible()
Please register or login to post a comment