[Framework] Feed list view in the Feed framework (#9)
This PR contains the work done to provide the existing `FeedViewController` view controller with real life data by integrating the `iTunesService` service into its view model. In addition, the list item cell has been design has been updated, and re-implemented using the `SwiftUI` framework. Reviewed-on: rock-n-code/app-reviews#9 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 #9.
This commit is contained in:
@@ -13,7 +13,7 @@ import ReviewsFeedKit
|
||||
extension ServiceConfiguration {
|
||||
|
||||
// MARK: Initialisers
|
||||
init(session: URLSessionConfiguration = .ephemeral) {
|
||||
public init(session: URLSessionConfiguration = .ephemeral) {
|
||||
self.init(
|
||||
host: .iTunes,
|
||||
session: session,
|
||||
|
||||
@@ -8,11 +8,16 @@
|
||||
|
||||
import ReviewsFeedKit
|
||||
|
||||
struct Feed {
|
||||
public struct Feed {
|
||||
|
||||
// MARK: Constants
|
||||
let entries: [Review]
|
||||
|
||||
// MARK: Initialisers
|
||||
public init(entries: [Review]) {
|
||||
self.entries = entries
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - Decodable
|
||||
@@ -28,7 +33,7 @@ extension Feed: Decodable {
|
||||
}
|
||||
|
||||
// MARK: Initialisers
|
||||
init(from decoder: any Decoder) throws {
|
||||
public init(from decoder: any Decoder) throws {
|
||||
let feed = try decoder.container(keyedBy: FeedKeys.self)
|
||||
let feedEntry = try feed.nestedContainer(keyedBy: EntryKeys.self, forKey: .feed)
|
||||
|
||||
@@ -41,7 +46,7 @@ extension Feed: Decodable {
|
||||
extension Feed: Encodable {
|
||||
|
||||
// MARK: Functions
|
||||
func encode(to encoder: any Encoder) throws {
|
||||
public func encode(to encoder: any Encoder) throws {
|
||||
var feed = encoder.container(keyedBy: FeedKeys.self)
|
||||
var feedEntry = feed.nestedContainer(keyedBy: EntryKeys.self, forKey: .feed)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user