42 lines
1.3 KiB
Swift
42 lines
1.3 KiB
Swift
import Foundation
|
|
|
|
struct GenericPage {
|
|
|
|
let language: ContentLanguage
|
|
|
|
let title: String
|
|
|
|
let description: String
|
|
|
|
let links: [NavigationBar.Link]
|
|
|
|
let additionalHeaders: String
|
|
|
|
let additionalFooter: String
|
|
|
|
let insertedContent: (inout String) -> Void
|
|
|
|
init(language: ContentLanguage, title: String, description: String, links: [NavigationBar.Link], additionalHeaders: String, additionalFooter: String, insertedContent: @escaping (inout String) -> Void) {
|
|
self.language = language
|
|
self.title = title
|
|
self.description = description
|
|
self.links = links
|
|
self.additionalHeaders = additionalHeaders
|
|
self.additionalFooter = additionalFooter
|
|
self.insertedContent = insertedContent
|
|
}
|
|
var content: String {
|
|
var result = ""
|
|
result += "<!DOCTYPE html><html lang=\"\(language.rawValue)\">"
|
|
result += PageHead(title: title, description: description, additionalHeaders: additionalHeaders).content
|
|
result += "<body>"
|
|
result += NavigationBar(links: links).content
|
|
result += "<div class=\"content\"><div style=\"height: 70px;\"></div>"
|
|
insertedContent(&result)
|
|
result += "</div>"
|
|
result += additionalFooter
|
|
result += "</body></html>" // Close content
|
|
return result
|
|
}
|
|
}
|