Add navigation settings, fix page generation
This commit is contained in:
@@ -12,25 +12,29 @@ struct NavigationBar: HtmlProducer {
|
||||
|
||||
private let links: [Link]
|
||||
|
||||
init(links: [Link]) {
|
||||
private let languageButton: Link
|
||||
|
||||
private let iconUrl: String
|
||||
|
||||
init(links: [Link], languageButton: Link, iconUrl: String) {
|
||||
self.links = links
|
||||
self.languageButton = languageButton
|
||||
self.iconUrl = iconUrl
|
||||
}
|
||||
|
||||
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 += "<nav class='navbar'>"
|
||||
result += "<div class='fade'></div>"
|
||||
result += "<div class='centered'>"
|
||||
result += "<a class='icon-link' href='\(iconUrl)'><div class='icon'></div></a>"
|
||||
result += "<div class='buttons'><input type='checkbox' id='menu-toggle'>"
|
||||
result += "<label for='menu-toggle' class='burger'><div></div><div></div><div></div></label>"
|
||||
result += "<ul>"
|
||||
for item in links {
|
||||
result += "<li><a href='\(item.url)'>\(item.text)</a></li>"
|
||||
}
|
||||
|
||||
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
|
||||
result += "</ul>"
|
||||
result += "<a class='lang-button' href='\(languageButton.url)'>\(languageButton.text)</a>"
|
||||
result += "</div></div></nav>" // Close buttons, centered, navbar
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user