chatSpannedText function

Widget chatSpannedText(
  1. String text,
  2. String spannableText,
  3. TextStyle? style,
  4. bool isSentbyMe, {
  5. int? maxLines,
})

Implementation

Widget chatSpannedText(
    String text, String spannableText, TextStyle? style, bool isSentbyMe,
    {int? maxLines}) {
  var startIndex = text.toLowerCase().contains(spannableText.toLowerCase())
      ? text.toLowerCase().indexOf(spannableText.toLowerCase())
      : -1;
  var endIndex = startIndex + spannableText.length;
  if (startIndex != -1 && endIndex != -1) {
    var startText = text.substring(0, startIndex);
    var colorText = text.substring(startIndex, endIndex);
    var endText = text.substring(endIndex, text.length);
    return Text.rich(
      TextSpan(
          text: startText,
          children: [
            TextSpan(
                text: colorText, style: const TextStyle(color: Colors.orange)),
            TextSpan(text: endText)
          ],
          style: style),
      maxLines: maxLines,
      overflow: TextOverflow.ellipsis,
    );
  } else {
    return textMessageSpannableText(text, isSentbyMe,
        maxLines: maxLines); //Text(text, style: style);
  }
}