in HuggingChat-Mac/Extensions/Text+Extension.swift [11:28]
func getContrastText(backgroundColor: Color) -> some View {
let nsColor = NSColor(backgroundColor)
// Convert to RGB color space first
guard let rgbColor = nsColor.usingColorSpace(.sRGB) else {
// Fallback to black text if conversion fails
return self.foregroundColor(.black)
}
var r: CGFloat = 0
var g: CGFloat = 0
var b: CGFloat = 0
var a: CGFloat = 0
rgbColor.getRed(&r, green: &g, blue: &b, alpha: &a)
let luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b
return luminance < 0.6 ? self.foregroundColor(.white) : self.foregroundColor(.black)
}