better reply fallback stripping
This commit is contained in:
parent
ff02c581d1
commit
8b0bcde6ae
|
@ -177,7 +177,7 @@ class ChatListItem extends StatelessWidget {
|
|||
)
|
||||
: Text(
|
||||
room.lastEvent.getLocalizedBody(context,
|
||||
withSenderNamePrefix: true, hideQuotes: true),
|
||||
withSenderNamePrefix: true, hideReply: true),
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
|
|
|
@ -239,7 +239,7 @@ class MatrixState extends State<Matrix> {
|
|||
|
||||
// Calculate the body
|
||||
final String body = event.getLocalizedBody(context,
|
||||
withSenderNamePrefix: true, hideQuotes: true);
|
||||
withSenderNamePrefix: true, hideReply: true);
|
||||
|
||||
// The person object for the android message style notification
|
||||
final person = Person(
|
||||
|
|
|
@ -135,7 +135,7 @@ class MessageContent extends StatelessWidget {
|
|||
case MessageTypes.Notice:
|
||||
case MessageTypes.Emote:
|
||||
return LinkText(
|
||||
text: event.getLocalizedBody(context, hideQuotes: true),
|
||||
text: event.getLocalizedBody(context, hideReply: true),
|
||||
textStyle: TextStyle(
|
||||
color: textColor,
|
||||
decoration: event.redacted ? TextDecoration.lineThrough : null,
|
||||
|
|
|
@ -36,7 +36,7 @@ class ReplyContent extends StatelessWidget {
|
|||
),
|
||||
Text(
|
||||
replyEvent?.getLocalizedBody(context,
|
||||
withSenderNamePrefix: false, hideQuotes: true) ??
|
||||
withSenderNamePrefix: false, hideReply: true) ??
|
||||
"",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
maxLines: 1,
|
||||
|
|
|
@ -13,7 +13,7 @@ extension LocalizedBody on Event {
|
|||
};
|
||||
|
||||
String getLocalizedBody(BuildContext context,
|
||||
{bool withSenderNamePrefix = false, bool hideQuotes = false}) {
|
||||
{bool withSenderNamePrefix = false, bool hideReply = false}) {
|
||||
if (this.redacted) {
|
||||
return I18n.of(context)
|
||||
.removedBy(redactedBecause.sender.calcDisplayname());
|
||||
|
@ -209,11 +209,9 @@ extension LocalizedBody on Event {
|
|||
localizedBody = I18n.of(context).unknownEvent(this.typeKey);
|
||||
}
|
||||
|
||||
// Hide quotes
|
||||
if (hideQuotes) {
|
||||
List<String> lines = localizedBody.split("\n");
|
||||
lines.removeWhere((s) => s.startsWith("> ") || s.isEmpty);
|
||||
localizedBody = lines.join("\n");
|
||||
// Hide reply fallback
|
||||
if (hideReply) {
|
||||
localizedBody = localizedBody.replaceFirst(RegExp(r'^>( \*)? <@[a-zA-Z0-9-.=_\/]+:[^>]+>[^\n]+\r?\n(> [^\n]+\r?\n)*\r?\n'), "");
|
||||
}
|
||||
|
||||
// Add the sender name prefix
|
||||
|
|
Loading…
Reference in a new issue