[Framework] Feed item view in the Feed framework (#10)

This PR contains the work done to implement the `FeedItemViewController` view controller, that shows in details a selected review from the `FeedListViewController` view controller.

Reviewed-on: rock-n-code/app-reviews#10
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit was merged in pull request #10.
This commit is contained in:
2024-03-20 01:42:21 +00:00
committed by javier
parent 09df006ab9
commit c9f4b9a677
12 changed files with 554 additions and 143 deletions
+32 -12
View File
@@ -7,13 +7,14 @@
objects = {
/* Begin PBXBuildFile section */
0220ADA32BA90646001E6A9F /* FeedItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0220ADA22BA90646001E6A9F /* FeedItem.swift */; };
0220ADA32BA90646001E6A9F /* FeedItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0220ADA22BA90646001E6A9F /* FeedItemCell.swift */; };
023AC7FC2BAA3EC10027D064 /* Int+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */; };
02620B8C2BA89C9A00DE7137 /* FeedViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02620B8B2BA89C9A00DE7137 /* FeedViewModel.swift */; };
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 */; };
02DC7FA32BA51793000EEEBE /* ReviewsFeed.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
02DC7FAC2BA51B4C000EEEBE /* DetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */; };
02DC7FAE2BA51B4C000EEEBE /* FeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */; };
02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13224C6EE64004E2EE1 /* FeedItemViewController.swift */; };
02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD12F24C6EE64004E2EE1 /* FeedListViewController.swift */; };
02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13124C6EE64004E2EE1 /* Review.swift */; };
02DC7FB32BA52518000EEEBE /* ReviewsKit in Frameworks */ = {isa = PBXBuildFile; productRef = 02DC7FB22BA52518000EEEBE /* ReviewsKit */; };
02DC7FB52BA52520000EEEBE /* ReviewsKit in Frameworks */ = {isa = PBXBuildFile; productRef = 02DC7FB42BA52520000EEEBE /* ReviewsKit */; };
@@ -47,7 +48,8 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0220ADA22BA90646001E6A9F /* FeedItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedItem.swift; sourceTree = "<group>"; };
0220ADA22BA90646001E6A9F /* FeedItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedItemCell.swift; sourceTree = "<group>"; };
023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Constants.swift"; sourceTree = "<group>"; };
02620B8B2BA89C9A00DE7137 /* FeedViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedViewModel.swift; 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>"; };
@@ -57,9 +59,9 @@
345AD12424C6EDDC004E2EE1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
345AD12724C6EDDC004E2EE1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
345AD12924C6EDDC004E2EE1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedViewController.swift; sourceTree = "<group>"; };
345AD12F24C6EE64004E2EE1 /* FeedListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedListViewController.swift; sourceTree = "<group>"; };
345AD13124C6EE64004E2EE1 /* Review.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Review.swift; sourceTree = "<group>"; };
345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailsViewController.swift; sourceTree = "<group>"; };
345AD13224C6EE64004E2EE1 /* FeedItemViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedItemViewController.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -83,6 +85,22 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0220ADA72BA98F8B001E6A9F /* Cells */ = {
isa = PBXGroup;
children = (
0220ADA22BA90646001E6A9F /* FeedItemCell.swift */,
);
path = Cells;
sourceTree = "<group>";
};
023AC7FA2BAA3EB60027D064 /* Extensions */ = {
isa = PBXGroup;
children = (
023AC7FB2BAA3EC10027D064 /* Int+Constants.swift */,
);
path = Extensions;
sourceTree = "<group>";
};
02620B852BA89BF900DE7137 /* UI */ = {
isa = PBXGroup;
children = (
@@ -95,6 +113,7 @@
02620B862BA89C0000DE7137 /* Logic */ = {
isa = PBXGroup;
children = (
023AC7FA2BAA3EB60027D064 /* Extensions */,
02620B8A2BA89C3300DE7137 /* Models */,
02620B872BA89C0700DE7137 /* View Models */,
);
@@ -112,8 +131,8 @@
02620B882BA89C1000DE7137 /* View Controllers */ = {
isa = PBXGroup;
children = (
345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */,
345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */,
345AD13224C6EE64004E2EE1 /* FeedItemViewController.swift */,
345AD12F24C6EE64004E2EE1 /* FeedListViewController.swift */,
);
path = "View Controllers";
sourceTree = "<group>";
@@ -121,7 +140,7 @@
02620B892BA89C2400DE7137 /* Components */ = {
isa = PBXGroup;
children = (
0220ADA22BA90646001E6A9F /* FeedItem.swift */,
0220ADA72BA98F8B001E6A9F /* Cells */,
);
path = Components;
sourceTree = "<group>";
@@ -366,10 +385,11 @@
buildActionMask = 2147483647;
files = (
02620B8C2BA89C9A00DE7137 /* FeedViewModel.swift in Sources */,
02DC7FAC2BA51B4C000EEEBE /* DetailsViewController.swift in Sources */,
0220ADA32BA90646001E6A9F /* FeedItem.swift in Sources */,
023AC7FC2BAA3EC10027D064 /* Int+Constants.swift in Sources */,
02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */,
0220ADA32BA90646001E6A9F /* FeedItemCell.swift in Sources */,
02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */,
02DC7FAE2BA51B4C000EEEBE /* FeedViewController.swift in Sources */,
02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};