parent
40f5d0f459
commit
f6aaf49164
2 changed files with 1041 additions and 144 deletions
|
|
@ -1,15 +1,19 @@
|
|||
import "package:nexus/models/content/encrypted.dart";
|
||||
import "package:nexus/models/content/message.dart";
|
||||
import "package:nexus/models/content/poll_start.dart";
|
||||
import "package:nexus/models/content/sticker.dart";
|
||||
import "package:nexus/models/event.dart";
|
||||
|
||||
extension IsShownAsMessage on Event {
|
||||
/// Whether this is a message, sticker or poll.
|
||||
bool get hasMessageContent => switch (content) {
|
||||
MessageContent() || StickerContent() || PollStartContent() => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
/// Whether this is shown in the timeline as a message, with MessageRenderer.
|
||||
bool get isShownAsMessage =>
|
||||
redactedBy == null &&
|
||||
relationType != "m.replace" &&
|
||||
switch (content) {
|
||||
MessageContent() || EncryptedContent() || StickerContent() => true,
|
||||
_ => false,
|
||||
};
|
||||
(hasMessageContent || content is EncryptedContent);
|
||||
}
|
||||
|
|
|
|||
6
lib/helpers/extensions/send_failed.dart
Normal file
6
lib/helpers/extensions/send_failed.dart
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import "package:nexus/models/event.dart";
|
||||
|
||||
extension SendFailed on Event {
|
||||
/// gomuks marks events that are still sending as "not sent" (and often forgets to clear it at all)
|
||||
bool get sendFailed => sendError != null && sendError != "not sent";
|
||||
}
|
||||
Loading…
Reference in a new issue