parseColor static method

Color parseColor(
  1. dynamic colorValue
)

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
}