From dbf71cc50d4834e636aa7b5dce31b03013d20f84 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Tue, 19 Mar 2024 19:22:34 +0100 Subject: [PATCH] Renamed the DetailsViewController view controller in the Feed framework as FeedItemViewController. --- ...ler.swift => FeedItemViewController.swift} | 39 ++++++++++++------- .../FeedListViewController.swift | 2 +- Reviews.xcodeproj/project.pbxproj | 8 ++-- 3 files changed, 30 insertions(+), 19 deletions(-) rename Frameworks/Feed/Bundle/Sources/UI/View Controllers/{DetailsViewController.swift => FeedItemViewController.swift} (86%) diff --git a/Frameworks/Feed/Bundle/Sources/UI/View Controllers/DetailsViewController.swift b/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedItemViewController.swift similarity index 86% rename from Frameworks/Feed/Bundle/Sources/UI/View Controllers/DetailsViewController.swift rename to Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedItemViewController.swift index f1f8708..621471e 100644 --- a/Frameworks/Feed/Bundle/Sources/UI/View Controllers/DetailsViewController.swift +++ b/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedItemViewController.swift @@ -1,5 +1,5 @@ // -// DetailsViewController.swift +// FeedItemViewController.swift // ReviewsFeed // // Created by Dmitrii Ivanov on 21/07/2020. @@ -8,7 +8,7 @@ import UIKit -final class DetailsViewController: UIViewController { +final class FeedItemViewController: UIViewController { // MARK: Constants private let item: Review @@ -73,23 +73,18 @@ final class DetailsViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - setupView() + setView() + setNavigationBar() + setLayout() } } // MARK: - Helpers -private extension DetailsViewController { +private extension FeedItemViewController { // MARK: Functions - func setupView() { - view.backgroundColor = .white - - view.addSubview(ratingVersionLabel) - view.addSubview(authorLabel) - view.addSubview(titleLabel) - view.addSubview(commentLabel) - + func setLayout() { NSLayoutConstraint.activate([ authorLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 8), authorLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -8), @@ -110,12 +105,28 @@ private extension DetailsViewController { ]) } + func setNavigationBar() { + navigationController?.navigationBar.prefersLargeTitles = true + navigationController?.navigationBar.isTranslucent = true + + navigationItem.title = "#\(String(item.id))" + } + + func setView() { + view.backgroundColor = .white + + view.addSubview(ratingVersionLabel) + view.addSubview(authorLabel) + view.addSubview(titleLabel) + view.addSubview(commentLabel) + } + } // MARK: - Previews @available(iOS 17.0, *) -#Preview("Details View Controller with a review") { - UINavigationController(rootViewController: DetailsViewController(.init( +#Preview("Feed Item with a review") { + UINavigationController(rootViewController: FeedItemViewController(.init( author: "Some author name here...", comment: "Some long, explanatory review comment goes here...", id: 1, diff --git a/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedListViewController.swift b/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedListViewController.swift index 1295c03..09ee7bd 100644 --- a/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedListViewController.swift +++ b/Frameworks/Feed/Bundle/Sources/UI/View Controllers/FeedListViewController.swift @@ -77,7 +77,7 @@ public class FeedListViewController: UITableViewController { _ tableView: UITableView, didSelectRowAt indexPath: IndexPath ) { - let details = DetailsViewController(viewModel.items[indexPath.row]) + let details = FeedItemViewController(viewModel.items[indexPath.row]) tableView.deselectRow( at: indexPath, diff --git a/Reviews.xcodeproj/project.pbxproj b/Reviews.xcodeproj/project.pbxproj index cfbedbc..4eadb43 100644 --- a/Reviews.xcodeproj/project.pbxproj +++ b/Reviews.xcodeproj/project.pbxproj @@ -12,7 +12,7 @@ 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 */; }; + 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 */; }; @@ -59,7 +59,7 @@ 345AD12924C6EDDC004E2EE1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 345AD12F24C6EE64004E2EE1 /* FeedListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedListViewController.swift; sourceTree = ""; }; 345AD13124C6EE64004E2EE1 /* Review.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Review.swift; sourceTree = ""; }; - 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailsViewController.swift; sourceTree = ""; }; + 345AD13224C6EE64004E2EE1 /* FeedItemViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedItemViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -120,7 +120,7 @@ 02620B882BA89C1000DE7137 /* View Controllers */ = { isa = PBXGroup; children = ( - 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */, + 345AD13224C6EE64004E2EE1 /* FeedItemViewController.swift */, 345AD12F24C6EE64004E2EE1 /* FeedListViewController.swift */, ); path = "View Controllers"; @@ -374,7 +374,7 @@ buildActionMask = 2147483647; files = ( 02620B8C2BA89C9A00DE7137 /* FeedViewModel.swift in Sources */, - 02DC7FAC2BA51B4C000EEEBE /* DetailsViewController.swift in Sources */, + 02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */, 0220ADA32BA90646001E6A9F /* FeedItemCell.swift in Sources */, 02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */, 02DC7FAE2BA51B4C000EEEBE /* FeedListViewController.swift in Sources */,