Implemented the FeedItemCoordinator coordinator in the Feed framework.
This commit is contained in:
parent
aacc0fa0fe
commit
5f2cc4638c
@ -0,0 +1,42 @@
|
|||||||
|
//
|
||||||
|
// FeedItemCoordinator.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 FeedItemCoordinator: Coordinator {
|
||||||
|
|
||||||
|
// MARK: Constants
|
||||||
|
public let router: any Router
|
||||||
|
|
||||||
|
private let item: Review
|
||||||
|
|
||||||
|
// MARK: Properties
|
||||||
|
public var children: [any Coordinator] = []
|
||||||
|
|
||||||
|
public init(
|
||||||
|
item: Review,
|
||||||
|
router: any Router
|
||||||
|
) {
|
||||||
|
self.item = item
|
||||||
|
self.router = router
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Functions
|
||||||
|
public func present(
|
||||||
|
animated: Bool,
|
||||||
|
onDismiss: Router.OnDismissClosure? = nil
|
||||||
|
) {
|
||||||
|
router.present(
|
||||||
|
FeedItemViewController(item),
|
||||||
|
animated: animated,
|
||||||
|
onDismiss: onDismiss
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
struct Review {
|
public struct Review {
|
||||||
|
|
||||||
// MARK: Constants
|
// MARK: Constants
|
||||||
let author: String
|
let author: String
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
023AC7FC2BAA3EC10027D064 /* Int+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */; };
|
023AC7FC2BAA3EC10027D064 /* Int+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */; };
|
||||||
02620B8C2BA89C9A00DE7137 /* FeedListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02620B8B2BA89C9A00DE7137 /* FeedListViewModel.swift */; };
|
02620B8C2BA89C9A00DE7137 /* FeedListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02620B8B2BA89C9A00DE7137 /* FeedListViewModel.swift */; };
|
||||||
028134712BACC8CC0074AB4B /* FeedListConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */; };
|
028134712BACC8CC0074AB4B /* FeedListConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */; };
|
||||||
|
028134822BACCC780074AB4B /* FeedListCoordination.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134812BACCC770074AB4B /* FeedListCoordination.swift */; };
|
||||||
|
028134842BACD0B20074AB4B /* FeedItemCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134832BACD0B20074AB4B /* FeedItemCoordinator.swift */; };
|
||||||
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E782BAB6B0200710E14 /* FilterOption.swift */; };
|
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E782BAB6B0200710E14 /* FilterOption.swift */; };
|
||||||
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7A2BAB6D2E00710E14 /* Bundle+Constants.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 */; };
|
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */; };
|
||||||
@ -64,6 +66,8 @@
|
|||||||
023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Constants.swift"; sourceTree = "<group>"; };
|
023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Constants.swift"; sourceTree = "<group>"; };
|
||||||
02620B8B2BA89C9A00DE7137 /* FeedListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListViewModel.swift; sourceTree = "<group>"; };
|
02620B8B2BA89C9A00DE7137 /* FeedListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListViewModel.swift; sourceTree = "<group>"; };
|
||||||
028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListConfiguration.swift; sourceTree = "<group>"; };
|
028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListConfiguration.swift; sourceTree = "<group>"; };
|
||||||
|
028134812BACCC770074AB4B /* FeedListCoordination.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListCoordination.swift; sourceTree = "<group>"; };
|
||||||
|
028134832BACD0B20074AB4B /* FeedItemCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedItemCoordinator.swift; sourceTree = "<group>"; };
|
||||||
02909E782BAB6B0200710E14 /* FilterOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterOption.swift; sourceTree = "<group>"; };
|
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>"; };
|
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>"; };
|
02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Review+DTOs.swift"; sourceTree = "<group>"; };
|
||||||
@ -185,6 +189,14 @@
|
|||||||
path = Structs;
|
path = Structs;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
028134802BACCC630074AB4B /* Coordination */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
028134812BACCC770074AB4B /* FeedListCoordination.swift */,
|
||||||
|
);
|
||||||
|
path = Coordination;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
02909E772BAB6AD500710E14 /* Enumerations */ = {
|
02909E772BAB6AD500710E14 /* Enumerations */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -213,6 +225,8 @@
|
|||||||
02C1B1952BAC9BE7001781DE /* Coordinators */ = {
|
02C1B1952BAC9BE7001781DE /* Coordinators */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
028134802BACCC630074AB4B /* Coordination */,
|
||||||
|
028134832BACD0B20074AB4B /* FeedItemCoordinator.swift */,
|
||||||
02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */,
|
02C1B1962BAC9BFE001781DE /* FeedListCoordinator.swift */,
|
||||||
);
|
);
|
||||||
path = Coordinators;
|
path = Coordinators;
|
||||||
@ -484,6 +498,7 @@
|
|||||||
02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */,
|
02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */,
|
||||||
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */,
|
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */,
|
||||||
02EACF2E2BABA34600FF8ECD /* FeedItemCell.swift in Sources */,
|
02EACF2E2BABA34600FF8ECD /* FeedItemCell.swift in Sources */,
|
||||||
|
028134842BACD0B20074AB4B /* FeedItemCoordinator.swift in Sources */,
|
||||||
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */,
|
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */,
|
||||||
0220ADA32BA90646001E6A9F /* FeedItemView.swift in Sources */,
|
0220ADA32BA90646001E6A9F /* FeedItemView.swift in Sources */,
|
||||||
02EACF362BABB2F200FF8ECD /* TopWord+DTOs.swift in Sources */,
|
02EACF362BABB2F200FF8ECD /* TopWord+DTOs.swift in Sources */,
|
||||||
@ -492,6 +507,7 @@
|
|||||||
02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */,
|
02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */,
|
||||||
02EACF322BABB23A00FF8ECD /* TopWordsView.swift in Sources */,
|
02EACF322BABB23A00FF8ECD /* TopWordsView.swift in Sources */,
|
||||||
028134712BACC8CC0074AB4B /* FeedListConfiguration.swift in Sources */,
|
028134712BACC8CC0074AB4B /* FeedListConfiguration.swift in Sources */,
|
||||||
|
028134822BACCC780074AB4B /* FeedListCoordination.swift in Sources */,
|
||||||
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */,
|
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user