diff --git a/Apps/Locations/Sources/Coordinators/LocationsListCoordinator.swift b/Apps/Locations/Sources/Coordinators/LocationsListCoordinator.swift new file mode 100644 index 0000000..31c5577 --- /dev/null +++ b/Apps/Locations/Sources/Coordinators/LocationsListCoordinator.swift @@ -0,0 +1,37 @@ +// +// LocationsListCoordinator.swift +// Locations +// +// Created by Javier Cicchelli on 11/04/2023. +// Copyright © 2023 Röck+Cöde. All rights reserved. +// + +import Core +import UIKit + +class LocationsListCoordinator: Coordinator { + + // MARK: Properties + + var children: [Coordinator] = [] + var router: Router + + // MARK: Initialisers + + init(router: Router) { + self.router = router + } + + // MARK: Functions + + func present(animated: Bool, onDismiss: (() -> Void)?) { + router.present( + UINavigationController(rootViewController: LocationsListViewController( + viewModel: LocationsListViewModel(coordinator: self) + )), + animated: animated, + onDismiss: onDismiss + ) + } + +} diff --git a/DeepLinking.xcodeproj/project.pbxproj b/DeepLinking.xcodeproj/project.pbxproj index 5d03cec..d61e837 100644 --- a/DeepLinking.xcodeproj/project.pbxproj +++ b/DeepLinking.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 46C3B7C629E5BF1500F8F57C /* LocationsListCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C3B7C529E5BF1500F8F57C /* LocationsListCoordinator.swift */; }; 46C3B7CB29E5CD3200F8F57C /* LocationsListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C3B7CA29E5CD3200F8F57C /* LocationsListViewModel.swift */; }; 46EB331B29E1CE04001D5EAF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EB331A29E1CE04001D5EAF /* AppDelegate.swift */; }; 46EB331F29E1CE04001D5EAF /* LocationsListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46EB331E29E1CE04001D5EAF /* LocationsListViewController.swift */; }; @@ -111,6 +112,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 46C3B7C529E5BF1500F8F57C /* LocationsListCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsListCoordinator.swift; sourceTree = ""; }; 46C3B7CA29E5CD3200F8F57C /* LocationsListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsListViewModel.swift; sourceTree = ""; }; 46EB325829E1BD5C001D5EAF /* Wikipedia.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Wikipedia.xcodeproj; path = Wikipedia/Wikipedia.xcodeproj; sourceTree = ""; }; 46EB331829E1CE04001D5EAF /* Locations.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Locations.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -138,6 +140,14 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 46C3B7C429E5BEE900F8F57C /* Coordinators */ = { + isa = PBXGroup; + children = ( + 46C3B7C529E5BF1500F8F57C /* LocationsListCoordinator.swift */, + ); + path = Coordinators; + sourceTree = ""; + }; 46C3B7C929E5CB8F00F8F57C /* Screens */ = { isa = PBXGroup; children = ( @@ -209,6 +219,7 @@ isa = PBXGroup; children = ( 46C3B7C929E5CB8F00F8F57C /* Screens */, + 46C3B7C429E5BEE900F8F57C /* Coordinators */, 46EB331A29E1CE04001D5EAF /* AppDelegate.swift */, ); path = Sources; @@ -415,6 +426,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 46C3B7C629E5BF1500F8F57C /* LocationsListCoordinator.swift in Sources */, 46EB331F29E1CE04001D5EAF /* LocationsListViewController.swift in Sources */, 46EB331B29E1CE04001D5EAF /* AppDelegate.swift in Sources */, 46C3B7CB29E5CD3200F8F57C /* LocationsListViewModel.swift in Sources */,