2026-04-19 16:29:13 +02:00
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
|
|
public enum IdP {
|
2026-04-19 21:50:03 +02:00
|
|
|
// Direct value — watch target has no Assets.xcassets so `Color("IdPTint")`
|
|
|
|
|
// would fall back to a transparent color and hide tinted text.
|
|
|
|
|
public static let tint = Color(red: 0.561, green: 0.486, blue: 0.961)
|
|
|
|
|
public static let cardRadius: CGFloat = 8
|
|
|
|
|
public static let controlRadius: CGFloat = 8
|
|
|
|
|
public static let badgeRadius: CGFloat = 999
|
2026-04-19 16:29:13 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extension Color {
|
2026-04-19 21:50:03 +02:00
|
|
|
// Shadcn on watch = pure black bg, subtle white dividers, white primary for inverted CTA.
|
2026-04-19 16:29:13 +02:00
|
|
|
static var idpGroupedBackground: Color { .black }
|
2026-04-19 21:50:03 +02:00
|
|
|
static var idpSecondaryGroupedBackground: Color { Color.white.opacity(0.06) }
|
|
|
|
|
static var idpTertiaryFill: Color { Color.white.opacity(0.10) }
|
2026-04-19 16:29:13 +02:00
|
|
|
static var idpSeparator: Color { Color.white.opacity(0.14) }
|
2026-04-19 21:50:03 +02:00
|
|
|
static var idpBorder: Color { Color.white.opacity(0.12) }
|
|
|
|
|
static var idpMutedForeground: Color { Color.white.opacity(0.55) }
|
|
|
|
|
static var idpPrimary: Color { Color(red: 0.980, green: 0.980, blue: 0.980) }
|
|
|
|
|
static var idpPrimaryForeground: Color { Color(red: 0.094, green: 0.094, blue: 0.106) }
|
|
|
|
|
static var idpOK: Color { Color(red: 0.086, green: 0.639, blue: 0.290) }
|
|
|
|
|
static var idpWarn: Color { Color(red: 0.918, green: 0.702, blue: 0.031) }
|
|
|
|
|
static var idpDestructive: Color { Color(red: 0.498, green: 0.114, blue: 0.114) }
|
2026-04-19 16:29:13 +02:00
|
|
|
}
|