From fc6ca5b4549965230e8d023abe011307457c4d4b Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Wed, 20 May 2026 10:38:10 -0400 Subject: [PATCH] Make message format an enum --- lib/models/content/message.dart | 20 +++++++++++++------- lib/widgets/renderers/event.dart | 3 +-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/models/content/message.dart b/lib/models/content/message.dart index c431324..b5e308c 100644 --- a/lib/models/content/message.dart +++ b/lib/models/content/message.dart @@ -15,28 +15,28 @@ abstract class MessageContent extends Content with _$MessageContent { @FreezedUnionValue("m.text") factory MessageContent.text({ required String body, - String? format, + MessageFormat? format, String? formattedBody, }) = TextMessageContent; @FreezedUnionValue("m.notice") factory MessageContent.notice({ required String body, - String? format, + MessageFormat? format, String? formattedBody, }) = NoticeMessageContent; @FreezedUnionValue("m.emote") factory MessageContent.emote({ required String body, - String? format, + MessageFormat? format, String? formattedBody, }) = EmoteMessageContent; @FreezedUnionValue("m.image") factory MessageContent.image({ required String body, - String? format, + MessageFormat? format, String? formattedBody, // EncryptedFile? file String? filename, @@ -47,7 +47,7 @@ abstract class MessageContent extends Content with _$MessageContent { @FreezedUnionValue("m.file") factory MessageContent.file({ required String body, - String? format, + MessageFormat? format, String? formattedBody, // EncryptedFile? file String? filename, @@ -58,7 +58,7 @@ abstract class MessageContent extends Content with _$MessageContent { @FreezedUnionValue("m.audio") factory MessageContent.audio({ required String body, - String? format, + MessageFormat? format, String? formattedBody, // EncryptedFile? file String? filename, @@ -69,7 +69,7 @@ abstract class MessageContent extends Content with _$MessageContent { @FreezedUnionValue("m.video") factory MessageContent.video({ required String body, - String? format, + MessageFormat? format, String? formattedBody, // EncryptedFile? file String? filename, @@ -84,3 +84,9 @@ abstract class MessageContent extends Content with _$MessageContent { factory MessageContent.fromJson(Map json) => _$MessageContentFromJson(json); } + +@JsonEnum() +enum MessageFormat { + @JsonValue("org.matrix.custom.html") + html, +} diff --git a/lib/widgets/renderers/event.dart b/lib/widgets/renderers/event.dart index 33eb66d..bfccb2b 100644 --- a/lib/widgets/renderers/event.dart +++ b/lib/widgets/renderers/event.dart @@ -231,8 +231,7 @@ class EventRenderer extends ConsumerWidget { ) => Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - format == "org.matrix.custom.html" && - !textOnly + format == MessageFormat.html && !textOnly ? Html( textStyle: textStyle, formattedBody!.replaceAllMapped(