borderRadiusBubbleChatMessage static method

BorderRadius borderRadiusBubbleChatMessage({
  1. required bool isOutGoing,
  2. double borderMax = 15,
  3. required int index,
  4. required int totalCount,
})

Implementation

static BorderRadius borderRadiusBubbleChatMessage({
  required bool isOutGoing,
  double borderMax = 15,
  required int index,
  required int totalCount,
}) {
  bool isFirstIndex = index == 0;
  bool isLastIndex = index == totalCount - 1;
  // detek first
  if (isFirstIndex) {
    if (isOutGoing) {
      return BorderRadius.only(
        topLeft: Radius.circular(borderMax),
        bottomLeft: Radius.circular(borderMax),
        bottomRight: Radius.circular(borderMax),
      );
    } else {
      return BorderRadius.only(
        topRight: Radius.circular(borderMax),
        bottomLeft: Radius.circular(borderMax),
        bottomRight: Radius.circular(borderMax),
      );
    }
  } else if (isLastIndex) {
    if (isOutGoing) {
      return BorderRadius.only(
        topRight: Radius.circular(borderMax),
        bottomLeft: Radius.circular(borderMax),
        topLeft: Radius.circular(borderMax),
      );
    } else {
      return BorderRadius.only(
        topRight: Radius.circular(borderMax),
        topLeft: Radius.circular(borderMax),
        bottomRight: Radius.circular(borderMax),
      );
    }
  }

  return BorderRadius.circular(borderMax);
}