Implemented the FeedListCoordinator coordinator in the Feed framework.
This commit is contained in:
parent
5408e2a48e
commit
71d3fd60d4
@ -0,0 +1,45 @@
|
||||
//
|
||||
// FeedListCoordinator.swift
|
||||
// ReviewsFeed
|
||||
//
|
||||
// Created by Javier Cicchelli on 21/03/2024.
|
||||
// Copyright © 2024 Röck+Cöde. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import ReviewsCoordinationKit
|
||||
|
||||
public final class FeedListCoordinator: Coordinator {
|
||||
|
||||
// MARK: Constants
|
||||
public let router: any Router
|
||||
|
||||
private let sessionConfiguration: URLSessionConfiguration
|
||||
|
||||
// MARK: Properties
|
||||
public var children: [any Coordinator] = []
|
||||
|
||||
// MARK: Initialisers
|
||||
public init(
|
||||
router: any Router,
|
||||
sessionConfiguration: URLSessionConfiguration = .ephemeral
|
||||
) {
|
||||
self.router = router
|
||||
self.sessionConfiguration = sessionConfiguration
|
||||
}
|
||||
|
||||
// MARK: Functions
|
||||
public func present(
|
||||
animated: Bool,
|
||||
onDismiss: Router.OnDismissClosure? = nil
|
||||
) {
|
||||
router.present(
|
||||
FeedListViewController(configuration: .init(
|
||||
session: sessionConfiguration
|
||||
)),
|
||||
animated: animated,
|
||||
onDismiss: onDismiss
|
||||
)
|
||||
}
|
||||
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E782BAB6B0200710E14 /* FilterOption.swift */; };
|
||||
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */; };
|
||||
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */; };
|
||||
02C1B1972BAC9BFE001781DE /* FeedListCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */; };
|
||||
02DA924E2BAAE3FD00C47985 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 02DA924D2BAAE3FD00C47985 /* Localizable.xcstrings */; };
|
||||
02DC7F9F2BA51793000EEEBE /* ReviewsFeed.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC7F912BA51793000EEEBE /* ReviewsFeed.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
02DC7FA22BA51793000EEEBE /* ReviewsFeed.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */; };
|
||||
@ -63,6 +64,7 @@
|
||||
02909E782BAB6B0200710E14 /* FilterOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterOption.swift; sourceTree = "<group>"; };
|
||||
02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+Constants.swift"; sourceTree = "<group>"; };
|
||||
02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Review+DTOs.swift"; sourceTree = "<group>"; };
|
||||
02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListCoordinator.swift; sourceTree = "<group>"; };
|
||||
02DA924D2BAAE3FD00C47985 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
|
||||
02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ReviewsFeed.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
02DC7F912BA51793000EEEBE /* ReviewsFeed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReviewsFeed.h; sourceTree = "<group>"; };
|
||||
@ -195,6 +197,14 @@
|
||||
path = Test;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
02C1B1952BAC9BE7001781DE /* Coordinators */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */,
|
||||
);
|
||||
path = Coordinators;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
02DA924B2BAAE3E500C47985 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -273,6 +283,7 @@
|
||||
02DC7FB02BA51B4F000EEEBE /* Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
02C1B1952BAC9BE7001781DE /* Coordinators */,
|
||||
02620B862BA89C0000DE7137 /* Logic */,
|
||||
02620B852BA89BF900DE7137 /* UI */,
|
||||
);
|
||||
@ -447,6 +458,7 @@
|
||||
0220ADA32BA90646001E6A9F /* FeedItemView.swift in Sources */,
|
||||
02EACF362BABB2F200FF8ECD /* TopWord+DTOs.swift in Sources */,
|
||||
02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */,
|
||||
02C1B1972BAC9BFE001781DE /* FeedListCoordinator.swift in Sources */,
|
||||
02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */,
|
||||
02EACF322BABB23A00FF8ECD /* TopWordsView.swift in Sources */,
|
||||
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */,
|
||||
|
Loading…
x
Reference in New Issue
Block a user