37 lines
942 B
Swift
37 lines
942 B
Swift
import Foundation
|
|
|
|
|
|
struct NavigationBar: HtmlProducer {
|
|
|
|
struct Link {
|
|
|
|
let text: String
|
|
|
|
let url: String
|
|
}
|
|
|
|
private let links: [Link]
|
|
|
|
init(links: [Link]) {
|
|
self.links = links
|
|
}
|
|
|
|
func populate(_ result: inout String) {
|
|
result += "<nav class='navbar'><div class='navbar-fade'></div><div class='nav-center'>"
|
|
let middleIndex = links.count / 2
|
|
let leftNavigationItems = links[..<middleIndex]
|
|
let rightNavigationItems = links[middleIndex...]
|
|
|
|
for item in leftNavigationItems {
|
|
result += "<a class='nav-animate' href='\(item.url)'>\(item.text)</a>"
|
|
}
|
|
|
|
result += "<a id='nav-image' href='/'><div class='icon-ch'></div></a>"
|
|
|
|
for item in rightNavigationItems {
|
|
result += "<a class='nav-animate' href='\(item.url)'>\(item.text)</a>"
|
|
}
|
|
result += "</div></nav>" // Close nav-center, navbar
|
|
}
|
|
}
|