diff --git a/lib/flutter_chat_types.dart b/lib/flutter_chat_types.dart index f9712de..1bac237 100644 --- a/lib/flutter_chat_types.dart +++ b/lib/flutter_chat_types.dart @@ -8,6 +8,7 @@ export 'src/messages/partial_custom.dart'; export 'src/messages/partial_file.dart'; export 'src/messages/partial_image.dart'; export 'src/messages/partial_text.dart'; +export 'src/messages/system_message.dart'; export 'src/messages/text_message.dart'; export 'src/messages/unsupported_message.dart'; export 'src/preview_data.dart'; diff --git a/lib/src/messages/system_message.dart b/lib/src/messages/system_message.dart index 38b9d71..ed03932 100644 --- a/lib/src/messages/system_message.dart +++ b/lib/src/messages/system_message.dart @@ -22,6 +22,7 @@ abstract class SystemMessage extends Message { super.roomId, super.showStatus, super.status, + required this.text, MessageType? type, super.updatedAt, }) : super(type: type ?? MessageType.system); @@ -36,6 +37,7 @@ abstract class SystemMessage extends Message { String? roomId, bool? showStatus, Status? status, + required String text, MessageType? type, int? updatedAt, }) = _SystemMessage; @@ -44,6 +46,9 @@ abstract class SystemMessage extends Message { factory SystemMessage.fromJson(Map json) => _$SystemMessageFromJson(json); + /// System message content (could be text or translation key). + final String text; + /// Equatable props. @override List get props => [ @@ -55,6 +60,7 @@ abstract class SystemMessage extends Message { repliedMessage, roomId, status, + text, updatedAt, ]; @@ -69,6 +75,7 @@ abstract class SystemMessage extends Message { String? roomId, bool? showStatus, Status? status, + String? text, int? updatedAt, }); @@ -90,6 +97,7 @@ class _SystemMessage extends SystemMessage { super.roomId, super.showStatus, super.status, + required super.text, super.type, super.updatedAt, }) : super._(); @@ -105,6 +113,7 @@ class _SystemMessage extends SystemMessage { dynamic roomId, dynamic showStatus = _Unset, dynamic status = _Unset, + String? text, dynamic updatedAt = _Unset, }) => _SystemMessage( @@ -122,6 +131,7 @@ class _SystemMessage extends SystemMessage { showStatus: showStatus == _Unset ? this.showStatus : showStatus as bool?, status: status == _Unset ? this.status : status as Status?, + text: text ?? this.text, updatedAt: updatedAt == _Unset ? this.updatedAt : updatedAt as int?, ); } diff --git a/lib/src/messages/system_message.g.dart b/lib/src/messages/system_message.g.dart index 49ba0df..3f6f066 100644 --- a/lib/src/messages/system_message.g.dart +++ b/lib/src/messages/system_message.g.dart @@ -19,6 +19,7 @@ SystemMessage _$SystemMessageFromJson(Map json) => roomId: json['roomId'] as String?, showStatus: json['showStatus'] as bool?, status: $enumDecodeNullable(_$StatusEnumMap, json['status']), + text: json['text'] as String, type: $enumDecodeNullable(_$MessageTypeEnumMap, json['type']), updatedAt: json['updatedAt'] as int?, ); @@ -44,6 +45,7 @@ Map _$SystemMessageToJson(SystemMessage instance) { writeNotNull('status', _$StatusEnumMap[instance.status]); val['type'] = _$MessageTypeEnumMap[instance.type]!; writeNotNull('updatedAt', instance.updatedAt); + val['text'] = instance.text; return val; }