// // FeedItemView.swift // ReviewsFeed // // Created by Javier Cicchelli on 19/03/2024. // Copyright © 2024 Röck+Cöde. All rights reserved. // import ReviewsUIKit import SwiftUI struct FeedItemView: View { // MARK: Constants private let item: Review // MARK: Initialisers init(_ item: Review) { self.item = item } // MARK: Body var body: some View { VStack( alignment: .leading, spacing: 16 ) { FakeLabel( systemIcon: .Icon.person, title: item.author ) .foregroundColor(.secondary) VStack(spacing: 8) { Text(item.title) .font(.headline) .lineLimit(2) .fullWidth() Text(item.comment) .font(.body) .lineLimit(4) .fullWidth() } .multilineTextAlignment(.leading) HStack( alignment: .center, spacing: 32 ) { StarRating( item.rating.stars, of: .Rating.total ) FakeLabel( systemIcon: .Icon.info, title: item.rating.appVersion ) .foregroundColor(.secondary) } } .padding(.vertical, 8) } } // MARK: - Previews #Preview("Feed Item") { FeedItemView(.init( author: "Some author name here...", comment: "Some review comment here...", id: 0, rating: .init( stars: 1, appVersion: "v1.2.3" ), title: "Some review title here..." )) .padding(.horizontal) }