Support for pinned messages #49
2 changed files with 18 additions and 9 deletions
handle redacted messages more gracefully
commit
4c94977b90
|
|
@ -10,7 +10,7 @@ part "message.g.dart";
|
||||||
@Freezed(unionKey: "msgtype", fallbackUnion: "default")
|
@Freezed(unionKey: "msgtype", fallbackUnion: "default")
|
||||||
abstract class MessageContent extends Content with _$MessageContent {
|
abstract class MessageContent extends Content with _$MessageContent {
|
||||||
MessageContent._();
|
MessageContent._();
|
||||||
factory MessageContent({required String body}) = UnknownMessageContent;
|
factory MessageContent({String? body}) = UnknownMessageContent;
|
||||||
|
|
||||||
@FreezedUnionValue("m.text")
|
@FreezedUnionValue("m.text")
|
||||||
factory MessageContent.text({
|
factory MessageContent.text({
|
||||||
|
|
|
||||||
|
|
@ -276,11 +276,20 @@ class MessageRenderer extends ConsumerWidget {
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
MessageContent(:final body) => Row(
|
MessageContent(:final body) =>
|
||||||
|
body == null
|
||||||
|
? Text(
|
||||||
|
"This message is redacted",
|
||||||
|
style: errorStyle,
|
||||||
|
)
|
||||||
|
: Row(
|
||||||
spacing: 8,
|
spacing: 8,
|
||||||
mainAxisSize: .min,
|
mainAxisSize: .min,
|
||||||
children: [
|
children: [
|
||||||
Text("Unknown message type:", style: errorStyle),
|
Text(
|
||||||
|
"Unknown message type:",
|
||||||
|
style: errorStyle,
|
||||||
|
),
|
||||||
Text(body),
|
Text(body),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue