use ratatui::style::Color;
pub fn parse_color(color_str: &str) -> Color {
match color_str.to_lowercase().as_str() {
"black" => Color::Black,
"red" => Color::Red,
"green" => Color::Green,
"yellow" => Color::Yellow,
"blue" => Color::Blue,
"magenta" => Color::Magenta,
"cyan" => Color::Cyan,
"white" => Color::White,
"gray" | "grey" => Color::Gray,
_ => Color::White,
}
}
fn is_dark_color(color: Color) -> bool {
matches!(
color,
Color::Black | Color::Blue | Color::Magenta | Color::Red
)
}
pub fn get_contrast_text_color(background: Color) -> Color {
if is_dark_color(background) {
Color::White
} else {
Color::Black
}
}
pub fn get_contrast_text_color_from_str(background_str: &str) -> Color {
let bg_color = parse_color(background_str);
get_contrast_text_color(bg_color)
}