parseColor static method
Helper method to parse color from various formats
Implementation
static Color parseColor(dynamic colorValue) {
if (colorValue is String) {
if (colorValue.startsWith('#')) {
return Color(int.parse(colorValue.replaceFirst('#', '0xFF')));
} else if (colorValue.startsWith('rgb(')) {
// Parse rgb(r, g, b) format
final rgb = colorValue.replaceAll('rgb(', '').replaceAll(')', '');
final parts = rgb.split(',').map((e) => int.parse(e.trim())).toList();
return Color.fromRGBO(parts[0], parts[1], parts[2], 1.0);
} else if (colorValue.startsWith('rgba(')) {
// Parse rgba(r, g, b, a) format
final rgba = colorValue.replaceAll('rgba(', '').replaceAll(')', '');
final parts =
rgba.split(',').map((e) => double.parse(e.trim())).toList();
return Color.fromRGBO(
parts[0].toInt(),
parts[1].toInt(),
parts[2].toInt(),
parts[3],
);
}
}
return Colors.blue; // Default fallback
}