Full page content, fixes, cleaner settings

This commit is contained in:
Christoph Hagen
2024-12-13 11:26:34 +01:00
parent efc9234917
commit b3b8c9a610
50 changed files with 1351 additions and 607 deletions

View File

@@ -1,53 +1,36 @@
import Foundation
struct NavigationBarLink {
let text: String
struct NavigationBar: HtmlProducer {
let url: String
}
struct Link {
let text: String
struct NavigationBarData {
let navigationIconPath: String
let iconDescription: String
let navigationItems: [NavigationBarLink]
}
struct NavigationBar {
let data: NavigationBarData
init(data: NavigationBarData) {
self.data = data
let url: String
}
private var items: [NavigationBarLink] {
data.navigationItems
private let links: [Link]
init(links: [Link]) {
self.links = links
}
var content: String {
var result = "<nav class=\"navbar\"><div class=\"navbar-fade\"></div><div class=\"nav-center\">"
let middleIndex = items.count / 2
let leftNavigationItems = items[..<middleIndex]
let rightNavigationItems = items[middleIndex...]
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 class='nav-animate' href='\(item.url)'>\(item.text)</a>"
}
result += "<a id=\"nav-image\" href=\"/\">"
result += "<img class=\"navbar-icon\" src=\"\(data.navigationIconPath)\" alt=\"\(data.iconDescription)\">"
result += "</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 += "<a class='nav-animate' href='\(item.url)'>\(item.text)</a>"
}
result += "</div></nav>" // Close nav-center, navbar
return result
}
}