git.iko.soy/dashared/hookah-tau
on develop help sign in
Слой координаторов для выбора заведения для брони

Сложила все по папочкам

commita52eb59e2d32543e3a444a76876a5638d35249f4 authorDarya Rednikina <rednikina.com@yandex.ru> dateFri 25 Oct 2019, 08:06 (7 years ago) parent08fe97c
6 files changed+116−24
Hookah Tau.xcodeproj/project.pbxproj+26−2 Hookah Tau/Controllers/Client/Reservations/Active Reservations/ReservationsCoordinator.swift+32 Hookah Tau/Controllers/Client/Reservations/ReservationsViewController.swift → Hookah Tau/Controllers/Client/Reservations/Active Reservations/ReservationsViewController.swift+2−1 Hookah Tau/Controllers/Client/Reservations/Adress of reservation/AddressCoordinator.swift+35 Hookah Tau/Controllers/Client/Reservations/Adress of reservation/AddressViewController.swift+21 Hookah Tau/Controllers/Client/Reservations/ReservationsCoordinator.swift−21
Hookah Tau.xcodeproj/project.pbxproj+26−2
@@ -25,6 +25,8 @@
2525 12C72EE1235380D400AD7004 /* ProfileClientViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12C72EE0235380D400AD7004 /* ProfileClientViewController.swift */; };
2626 12C72EE3235380EB00AD7004 /* ReservationsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12C72EE2235380EB00AD7004 /* ReservationsViewController.swift */; };
2727 12DBEEB223539F2100AF1BB6 /* Client.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 12DBEEB123539F2100AF1BB6 /* Client.storyboard */; };
28+ 12EA99462362B674005D9FE9 /* AddressCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EA99452362B674005D9FE9 /* AddressCoordinator.swift */; };
29+ 12EA99482362B684005D9FE9 /* AddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EA99472362B684005D9FE9 /* AddressViewController.swift */; };
2830 12EE4A76234BB8FE005B4D1A /* CodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EE4A75234BB8FE005B4D1A /* CodeView.swift */; };
2931 12F73B022357AD7B007D4476 /* ProfileChangeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12F73B012357AD7B007D4476 /* ProfileChangeViewController.swift */; };
3032 F30369B5233679EA00A8EA84 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F30369B4233679EA00A8EA84 /* LaunchScreen.storyboard */; };
@@ -93,6 +95,8 @@
9395 12C72EE0235380D400AD7004 /* ProfileClientViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileClientViewController.swift; sourceTree = "<group>"; };
9496 12C72EE2235380EB00AD7004 /* ReservationsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReservationsViewController.swift; sourceTree = "<group>"; };
9597 12DBEEB123539F2100AF1BB6 /* Client.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Client.storyboard; sourceTree = "<group>"; };
98+ 12EA99452362B674005D9FE9 /* AddressCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressCoordinator.swift; sourceTree = "<group>"; };
99+ 12EA99472362B684005D9FE9 /* AddressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressViewController.swift; sourceTree = "<group>"; };
96100 12EE4A75234BB8FE005B4D1A /* CodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeView.swift; sourceTree = "<group>"; };
97101 12F73B012357AD7B007D4476 /* ProfileChangeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileChangeViewController.swift; sourceTree = "<group>"; };
98102 F30369B4233679EA00A8EA84 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
@@ -173,8 +177,8 @@
173177 children = (
174178 1246B721235CDFC2004CBFA1 /* Cells */,
175179 1246B71A235CD4C5004CBFA1 /* Views */,
176− 12219CEE2353A63E0057DDEE /* ReservationsCoordinator.swift */,
177− 12C72EE2235380EB00AD7004 /* ReservationsViewController.swift */,
180+ 12EA994A2362BA11005D9FE9 /* Active Reservations */,
181+ 12EA99492362B9F5005D9FE9 /* Adress of reservation */,
178182 );
179183 path = Reservations;
180184 sourceTree = "<group>";
@@ -219,6 +223,24 @@
219223 path = "Tab bar";
220224 sourceTree = "<group>";
221225 };
226+ 12EA99492362B9F5005D9FE9 /* Adress of reservation */ = {
227+ isa = PBXGroup;
228+ children = (
229+ 12EA99452362B674005D9FE9 /* AddressCoordinator.swift */,
230+ 12EA99472362B684005D9FE9 /* AddressViewController.swift */,
231+ );
232+ path = "Adress of reservation";
233+ sourceTree = "<group>";
234+ };
235+ 12EA994A2362BA11005D9FE9 /* Active Reservations */ = {
236+ isa = PBXGroup;
237+ children = (
238+ 12219CEE2353A63E0057DDEE /* ReservationsCoordinator.swift */,
239+ 12C72EE2235380EB00AD7004 /* ReservationsViewController.swift */,
240+ );
241+ path = "Active Reservations";
242+ sourceTree = "<group>";
243+ };
222244 12EE4A77234BB942005B4D1A /* Code */ = {
223245 isa = PBXGroup;
224246 children = (
@@ -555,11 +577,13 @@
555577 isa = PBXSourcesBuildPhase;
556578 buildActionMask = 2147483647;
557579 files = (
580+ 12EA99482362B684005D9FE9 /* AddressViewController.swift in Sources */,
558581 1246B719235CD3AD004CBFA1 /* NoReservationsView.swift in Sources */,
559582 F3895F4A233D323700FA6A37 /* CodeCoordinator.swift in Sources */,
560583 123615D12355141600D1122A /* ProfileView.swift in Sources */,
561584 12F73B022357AD7B007D4476 /* ProfileChangeViewController.swift in Sources */,
562585 F3851B2E2340A444009EE0B6 /* TitleTextView.swift in Sources */,
586+ 12EA99462362B674005D9FE9 /* AddressCoordinator.swift in Sources */,
563587 12B6A613235B9B4300898B31 /* BaseViewController.swift in Sources */,
564588 F3FC7DFF2315C8D70080D851 /* NameCoordinator.swift in Sources */,
565589 F3FC7DCF2315BE610080D851 /* NameViewController.swift in Sources */,
Hookah Tau/Controllers/Client/Reservations/Active Reservations/ReservationsCoordinator.swiftnew file+32
@@ -0,0 +1,32 @@
1+//
2+// ReservationsCoordinator.swift
3+// Hookah Tau
4+//
5+// Created by cstore on 13/10/2019.
6+// Copyright © 2019 Daria Rednikina. All rights reserved.
7+//
8+
9+import UIKit
10+
11+class ReservationsCoordinator: BaseCoordinator {
12+
13+ // MARK: - Lifecycle
14+
15+ override func start() {
16+ let reservationsViewController = ReservationsViewController()
17+ reservationsViewController.coordinator = self
18+ navigationController?.navigationBar.prefersLargeTitles = true
19+ navigationController?.viewControllers = [reservationsViewController]
20+ }
21+
22+ /// Start process of creating reservation
23+ func makeReservation() {
24+ let addressCoordinator = AddressCoordinator(navigationController: navigationController)
25+ addDependency(addressCoordinator)
26+ addressCoordinator.didFinish = { [weak self] in
27+ self?.removeDependency(addressCoordinator)
28+ self?.navigationController?.popViewController(animated: true)
29+ }
30+ addressCoordinator.start()
31+ }
32+}
Hookah Tau/Controllers/Client/Reservations/ReservationsViewController.swift → Hookah Tau/Controllers/Client/Reservations/Active Reservations/ReservationsViewController.swiftrenamed+2−1
@@ -43,7 +43,8 @@ class ReservationsViewController: UIViewController {
4343 view.backgroundColor = .white
4444 navigationItem.title = "Брони"
4545
46− navigationController?.navigationBar.prefersLargeTitles = true
46+ navigationItem.rightBarButtonItem =
47+ UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(tapToMakeReservation))
4748 }
4849
4950 // MARK: - Setup
Hookah Tau/Controllers/Client/Reservations/Adress of reservation/AddressCoordinator.swiftnew file+35
@@ -0,0 +1,35 @@
1+//
2+// AddressCoordinator.swift
3+// Hookah Tau
4+//
5+// Created by cstore on 25/10/2019.
6+// Copyright © 2019 Daria Rednikina. All rights reserved.
7+//
8+
9+import UIKit
10+
11+class AddressCoordinator: BaseCoordinator {
12+
13+ // MARK: - Properties
14+
15+ var didFinish: (() -> Void)?
16+
17+ // MARK: - Lifecycle
18+
19+ override func start() {
20+ let addressViewController = AddressViewController()
21+ addressViewController.coordinator = self
22+ navigationController?.pushViewController(addressViewController, animated: true)
23+ }
24+
25+ /// cancel reservation process
26+ func goBack() {
27+ didFinish?()
28+ }
29+
30+ /// continue with reservation
31+ /// TODO: pass some data
32+ func chooseTableAndTime() {
33+
34+ }
35+}
Hookah Tau/Controllers/Client/Reservations/Adress of reservation/AddressViewController.swiftnew file+21
@@ -0,0 +1,21 @@
1+//
2+// AddressViewController.swift
3+// Hookah Tau
4+//
5+// Created by cstore on 25/10/2019.
6+// Copyright © 2019 Daria Rednikina. All rights reserved.
7+//
8+
9+import UIKit
10+
11+class AddressViewController: BaseViewController {
12+
13+ // MARK: - Properties
14+
15+ weak var coordinator: AddressCoordinator?
16+
17+ override func viewDidLoad() {
18+ view.backgroundColor = .white
19+ navigationItem.title = "Заведения"
20+ }
21+}
Hookah Tau/Controllers/Client/Reservations/ReservationsCoordinator.swiftdeleted−21
@@ -1,21 +0,0 @@
1−//
2−// ReservationsCoordinator.swift
3−// Hookah Tau
4−//
5−// Created by cstore on 13/10/2019.
6−// Copyright © 2019 Daria Rednikina. All rights reserved.
7−//
8−
9−import UIKit
10−
11−class ReservationsCoordinator: BaseCoordinator {
12− override func start() {
13− let reservationsViewController = ReservationsViewController()
14− reservationsViewController.coordinator = self
15− navigationController?.viewControllers = [reservationsViewController]
16− }
17−
18− func makeReservation() {
19− print("TODO making reservation ...")
20− }
21−}