generateAvatarColors static method

List<Color> generateAvatarColors(
  1. String? address
)

Implementation

static List<Color> generateAvatarColors(String? address) {
  if ((address ?? '').isEmpty) {
    return defaultAvatarColors;
  }

  try {
    final hash = address!.toLowerCase().replaceFirst('0x', '');
    final baseColor = hash.substring(0, 6);
    final rgbColor = _hexToRgb(baseColor);

    final List<Color> colors = [];

    for (int i = 0; i < 5; i += 1) {
      final tintedColor = _tintColor(rgbColor, 0.15 * i);
      colors.add(
        Color.fromRGBO(
          tintedColor[0],
          tintedColor[1],
          tintedColor[2],
          1.0,
        ),
      );
    }

    return colors;
  } catch (e) {
    return defaultAvatarColors;
  }
}