Generate first feed pages, images
This commit is contained in:
@ -12,14 +12,17 @@ struct GenericPage {
|
||||
|
||||
let additionalHeaders: String
|
||||
|
||||
let additionalFooter: String
|
||||
|
||||
let insertedContent: (inout String) -> Void
|
||||
|
||||
init(language: ContentLanguage, title: String, description: String, data: NavigationBarData, additionalHeaders: String, insertedContent: @escaping (inout String) -> Void) {
|
||||
init(language: ContentLanguage, title: String, description: String, data: NavigationBarData, additionalHeaders: String, additionalFooter: String, insertedContent: @escaping (inout String) -> Void) {
|
||||
self.language = language
|
||||
self.title = title
|
||||
self.description = description
|
||||
self.data = data
|
||||
self.additionalHeaders = additionalHeaders
|
||||
self.additionalFooter = additionalFooter
|
||||
self.insertedContent = insertedContent
|
||||
}
|
||||
var content: String {
|
||||
@ -30,7 +33,9 @@ struct GenericPage {
|
||||
result += NavigationBar(data: data).content
|
||||
result += "<div class=\"content\"><div style=\"height: 70px;\"></div>"
|
||||
insertedContent(&result)
|
||||
result += "</div></body></html>" // Close content
|
||||
result += "</div>"
|
||||
result += additionalFooter
|
||||
result += "</body></html>" // Close content
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
@ -33,20 +33,25 @@ struct PageInFeed {
|
||||
}
|
||||
|
||||
var content: String {
|
||||
GenericPage(language: language, title: title, description: description, data: navigationBarData, additionalHeaders: headers) { content in
|
||||
let footer = swiperIsNeeded ? swiperInits : ""
|
||||
|
||||
return GenericPage(
|
||||
language: language,
|
||||
title: title,
|
||||
description: description,
|
||||
data: navigationBarData,
|
||||
additionalHeaders: headers,
|
||||
additionalFooter: footer) { content in
|
||||
for post in posts {
|
||||
FeedEntry(data: post)
|
||||
.addContent(to: &content)
|
||||
content += FeedEntry(data: post).content
|
||||
}
|
||||
content += PostFeedPageNavigation(currentPage: pageNumber, numberOfPages: totalPages, language: language).content
|
||||
if swiperIsNeeded {
|
||||
addSwiperInits(to: &content)
|
||||
}
|
||||
|
||||
}.content
|
||||
}
|
||||
|
||||
private func addSwiperInits(to result: inout String) {
|
||||
result += "<script src='\(swiperJsPath)'></script><script>"
|
||||
private var swiperInits: String {
|
||||
var result = "<script src='\(swiperJsPath)'></script><script>"
|
||||
for post in posts {
|
||||
guard post.images.count > 1 else {
|
||||
continue
|
||||
@ -54,5 +59,6 @@ struct PageInFeed {
|
||||
result += ImageGallery.swiperInit(id: post.entryId)
|
||||
}
|
||||
result += "</script>"
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user