chatSpannedText function
Implementation
Widget chatSpannedText(String text, String spannableText, TextStyle? style,
{int? maxLines,
Color spanColor = Colors.orange,
Color urlColor = Colors.blue}) {
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: TextStyle(color: spanColor)),
TextSpan(text: endText)
],
style: style),
maxLines: maxLines,
overflow: TextOverflow.ellipsis,
);
} else {
return textMessageSpannableText(text, style, urlColor, maxLines: maxLines);
}
}