Simplify Icon usage, add names

This commit is contained in:
Christoph Hagen
2025-01-26 20:59:38 +01:00
parent 42fa08b43d
commit 628f3ad520
12 changed files with 291 additions and 159 deletions

View File

@ -1,18 +1,35 @@
protocol ContentIcon {
static var name: String { get }
static var id: String { get }
static var attributes: String { get }
static var content: String { get }
}
extension ContentIcon {
var name: String {
Self.name
var id: String {
Self.id
}
var content: String {
Self.content
}
}
extension ContentIcon {
static var svgString: String {
"<svg id=\(id) \(attributes)>\(content)</svg>"
}
static var usageString: String {
"<svg>\(usageContent)</svg>"
}
static var usageContent: String {
"<use href='#\(id)'></use>"
}
}