43 lines
1.2 KiB
Swift
43 lines
1.2 KiB
Swift
|
|
struct HikingStatistics {
|
|
|
|
private let time: String?
|
|
|
|
private let elevationUp: String?
|
|
|
|
private let elevationDown: String?
|
|
|
|
private let distance: String?
|
|
|
|
private let calories: String?
|
|
|
|
init(time: String?, elevationUp: String?, elevationDown: String?, distance: String?, calories: String?) {
|
|
self.time = time
|
|
self.elevationUp = elevationUp
|
|
self.elevationDown = elevationDown
|
|
self.distance = distance
|
|
self.calories = calories
|
|
}
|
|
|
|
var content: String {
|
|
var result = "<div class='stats-container'>"
|
|
if let time {
|
|
result += "<div><svg><use href='#icon-clock'></use></svg>\(time)</div>"
|
|
}
|
|
if let elevationUp {
|
|
result += "<div><svg><use href='#icon-arrow-up'></use></svg>\(elevationUp)</div>"
|
|
}
|
|
if let elevationDown {
|
|
result += "<div><svg><use href='#icon-arrow-down'></use></svg>\(elevationDown)</div>"
|
|
}
|
|
if let distance {
|
|
result += "<div><svg><use href='#icon-sign'></use></svg>\(distance)</div>"
|
|
}
|
|
if let calories {
|
|
result += "<div><svg><use href='#icon-flame'></use></svg>\(calories)</div>"
|
|
}
|
|
result += "</div>"
|
|
return result
|
|
}
|
|
}
|