import Foundation struct PageInFeed { private let swiperStyleSheetPath = "/assets/swiper/swiper-bundle.min.css" private let swiperJsPath = "/assets/swiper/swiper-bundle.min.js" let language: ContentLanguage let title: String let description: String let navigationBarData: NavigationBarData let pageNumber: Int let totalPages: Int let posts: [FeedEntryData] private var swiperHeader: String { "" } private var swiperIsNeeded: Bool { posts.contains(where: { $0.images.count > 1 }) } private var headers: String { swiperIsNeeded ? swiperHeader : "" } var content: String { GenericPage(language: language, title: title, description: description, data: navigationBarData, additionalHeaders: headers) { content in for post in posts { FeedEntry(data: post) .addContent(to: &content) } content += PostFeedPageNavigation(currentPage: pageNumber, numberOfPages: totalPages, language: language).content if swiperIsNeeded { addSwiperInits(to: &content) } }.content } private func addSwiperInits(to result: inout String) { result += "" } }