addReadMore method
Implementation
String addReadMore(SocialMediaApp app) {
String insertReadMore(int threshold) {
final urls = getUrls();
if (urls.isEmpty) return this;
final urlsText = urls.join('\n');
final contentWithoutUrl = removeUrls();
if (contentWithoutUrl.length + urlsText.length <= threshold) return this;
const readMore = '... Read more:\n';
final remainingSpace = threshold - readMore.length - urlsText.length;
if (remainingSpace <= 0) return this;
final truncatedContent = contentWithoutUrl.substring(0, remainingSpace);
return '$truncatedContent$readMore$urlsText';
}
switch (app) {
case SocialMediaApp.whatsapp:
return insertReadMore(700);
case SocialMediaApp.instagram:
return insertReadMore(2200);
case SocialMediaApp.linkedin:
return insertReadMore(1300);
case SocialMediaApp.facebook:
return insertReadMore(1300);
case SocialMediaApp.twitter:
return insertReadMore(250);
case SocialMediaApp.telegram:
return insertReadMore(4096);
default:
return this;
}
}