make colors and padding optional

This commit is contained in:
2026-07-12 11:16:54 +02:00
parent 0edc4ca47a
commit 7c0551c662
5 changed files with 18 additions and 22 deletions
@@ -1,10 +1,9 @@
struct PHThemePadding: Decodable {
let leading: Double
let trailing: Double
let trailing: Double?
let leading: Double?
var total: Double { leading + trailing }
static var zero: PHThemePadding {
Self.init(leading: 0, trailing: 0)
private enum CodingKeys: String, CodingKey {
case trailing = "right"
case leading = "left"
}
}
@@ -1,15 +1,15 @@
struct PHThemeStyle: Decodable {
let name: String
let foreground: PHThemeColor
let background: PHThemeColor
let padding: PHThemePadding
let foreground: PHThemeColor?
let background: PHThemeColor?
let padding: PHThemePadding?
static let `default`: Self = {
PHThemeStyle(
name: "_default",
foreground: .init(color: "#000000", alpha: nil),
background: .init(color: "#ffffff", alpha: nil),
padding: .init(leading: 10, trailing: 10)
padding: .init(trailing: 12, leading: 12)
)
}()
}
+4 -7
View File
@@ -7,19 +7,16 @@ shadow = false
blur = 0.0
[[style]]
name = "default"
name = "default"
foreground = { color = "#aed3f3" }
background = { color = "#010408", alpha = 0.825 }
padding = { leading = 0.0, trailing = 0.0 }
[[style]]
name = "floating"
name = "floating"
foreground = { color = "#aed3f3" }
background = { color = "#000000", alpha = 0 }
padding = { leading = 0.0, trailing = 0.0 }
[[style]]
name = "tinted"
name = "tinted"
foreground = { color = "#aed3f3" }
background = { color = "#0f304a" }
padding = { leading = 12.0, trailing = 12.0 }
padding = { left = 12.0, right = 12.0 }
+1 -1
View File
@@ -11,7 +11,7 @@ struct SpaceBlockView: View {
var body: some View {
Rectangle()
.fill(block.style.background)
.fill(block.style.background?.uiColor ?? .clear)
.frame(width: width)
}
}
+4 -4
View File
@@ -15,16 +15,16 @@ struct TextBlockView: View {
if let label = block.label, !label.isEmpty {
ZStack(alignment: .center) {
RoundedRectangle(cornerRadius: 0)
.fill(block.style.background)
.foregroundStyle(block.style.background?.uiColor ?? .clear)
Group {
Text(label)
.foregroundStyle(block.style.foreground)
.foregroundStyle(block.style.foreground?.uiColor ?? .clear)
.transformEffect(adjustOffset)
.border(bar.debug ? .blue : .clear)
}
.padding(.leading, block.style.padding.leading)
.padding(.trailing, block.style.padding.trailing)
.padding(.trailing, block.style.padding?.trailing ?? 0)
.padding(.leading, block.style.padding?.leading ?? 0)
}
.fixedSize(horizontal: true, vertical: false)
.border(bar.debug ? .red : .clear)