From 0bb8c3e6933342f7b9970fc6845ab22cca76691c Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Mon, 9 Mar 2026 15:02:49 +0530 Subject: [PATCH 1/2] refactor(ui): update MessageComposerReplyAttachment to use Widget for title and subtitle --- .../message_composer_attachment_reply.dart | 4 +- .../message_composer_reply_attachment.dart | 82 ++++++++----------- ...composer_attachment_reply_golden_test.dart | 20 ++--- 3 files changed, 47 insertions(+), 59 deletions(-) diff --git a/apps/design_system_gallery/lib/components/message_composer/message_composer_attachment_reply.dart b/apps/design_system_gallery/lib/components/message_composer/message_composer_attachment_reply.dart index 2ea43b0..47bfc95 100644 --- a/apps/design_system_gallery/lib/components/message_composer/message_composer_attachment_reply.dart +++ b/apps/design_system_gallery/lib/components/message_composer/message_composer_attachment_reply.dart @@ -25,8 +25,8 @@ Widget buildMessageComposerAttachmentReplyPlayground(BuildContext context) { child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 360), child: MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), image: const AssetImage('assets/attachment_image.png'), onRemovePressed: () {}, style: style, diff --git a/packages/stream_core_flutter/lib/src/components/message_composer/attachment/message_composer_reply_attachment.dart b/packages/stream_core_flutter/lib/src/components/message_composer/attachment/message_composer_reply_attachment.dart index a6d7a31..354a833 100644 --- a/packages/stream_core_flutter/lib/src/components/message_composer/attachment/message_composer_reply_attachment.dart +++ b/packages/stream_core_flutter/lib/src/components/message_composer/attachment/message_composer_reply_attachment.dart @@ -13,8 +13,8 @@ class MessageComposerReplyAttachment extends StatelessWidget { this.style = ReplyStyle.incoming, }); - final String title; - final String subtitle; + final Widget title; + final Widget subtitle; final ImageProvider? image; final VoidCallback? onRemovePressed; final ReplyStyle style; @@ -35,55 +35,43 @@ class MessageComposerReplyAttachment extends StatelessWidget { return StreamMessageComposerAttachmentContainer( onRemovePressed: onRemovePressed, backgroundColor: backgroundColor, - child: IntrinsicHeight( - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - margin: const EdgeInsets.only(top: 2, bottom: 2), - color: indicatorColor, - child: const SizedBox( - width: 2, - height: double.infinity, - ), + child: Row( + spacing: spacing.xs, + children: [ + Container( + margin: const EdgeInsets.only(top: 2, bottom: 2), + color: indicatorColor, + child: const SizedBox(width: 2, height: 36), + ), + Expanded( + child: Column( + spacing: spacing.xxxs, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + DefaultTextStyle.merge( + style: context.streamTextTheme.metadataEmphasis.copyWith(color: textColor), + child: title, + ), + DefaultTextStyle.merge( + style: context.streamTextTheme.metadataDefault.copyWith(color: textColor), + child: subtitle, + ), + ], ), - SizedBox(width: spacing.xs), - Expanded( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(title, style: context.streamTextTheme.metadataEmphasis.copyWith(color: textColor)), - Row( - children: [ - if (image != null) ...[ - Icon(context.streamIcons.camera1, size: 12), - SizedBox(width: spacing.xxs), - ], - Expanded( - child: Text( - subtitle, - style: context.streamTextTheme.metadataDefault.copyWith(color: textColor), - ), - ), - ], - ), - ], + ), + if (image != null) ...[ + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(context.streamRadius.md), + image: DecorationImage(image: image!, fit: BoxFit.cover), ), ), - if (image != null) ...[ - SizedBox(width: spacing.xs), - Container( - width: 40, - height: 40, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(context.streamRadius.md), - image: DecorationImage(image: image!, fit: BoxFit.cover), - ), - ), - ], ], - ), + ], ), ); } diff --git a/packages/stream_core_flutter/test/components/message_composer/message_composer_attachment_reply_golden_test.dart b/packages/stream_core_flutter/test/components/message_composer/message_composer_attachment_reply_golden_test.dart index 5a76147..ef2044f 100644 --- a/packages/stream_core_flutter/test/components/message_composer/message_composer_attachment_reply_golden_test.dart +++ b/packages/stream_core_flutter/test/components/message_composer/message_composer_attachment_reply_golden_test.dart @@ -18,8 +18,8 @@ void main() { name: '${style.name}_no_remove', child: _buildReplyInTheme( MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), onRemovePressed: null, style: style, ), @@ -30,8 +30,8 @@ void main() { name: '${style.name}_with_remove', child: _buildReplyInTheme( MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), onRemovePressed: () {}, style: style, ), @@ -52,8 +52,8 @@ void main() { name: '${style.name}_no_remove', child: _buildReplyInTheme( MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), onRemovePressed: null, style: style, ), @@ -65,8 +65,8 @@ void main() { name: '${style.name}_with_remove', child: _buildReplyInTheme( MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), onRemovePressed: () {}, style: style, ), @@ -101,8 +101,8 @@ void main() { ), ), child: MessageComposerReplyAttachment( - title: 'Reply to John Doe', - subtitle: 'We had a great time during our holiday.', + title: const Text('Reply to John Doe'), + subtitle: const Text('We had a great time during our holiday.'), onRemovePressed: null, style: style, ), From 4d18e1635da213ca8b80a08301782ffdd27af3d9 Mon Sep 17 00:00:00 2001 From: xsahil03x <25670178+xsahil03x@users.noreply.github.com> Date: Mon, 9 Mar 2026 09:35:46 +0000 Subject: [PATCH 2/2] chore: Update Goldens --- ...omposer_attachment_reply_custom_matrix.png | Bin 1635 -> 1671 bytes ..._composer_attachment_reply_dark_matrix.png | Bin 3842 -> 3916 bytes ...composer_attachment_reply_light_matrix.png | Bin 3601 -> 3666 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_custom_matrix.png b/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_custom_matrix.png index 0e04c6cb7cb9e0a4898b571eeb8526ce6bd6ecaa..2de7f2534d6534e5527bc916a36ad6cc9ad9f191 100644 GIT binary patch literal 1671 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 w;0beJxEY2v#Q*>R07*qoM6N<$f(#3v>;M1& diff --git a/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_dark_matrix.png b/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_dark_matrix.png index faea8dde6c5881bdb6005f6301e2711364c68acd..8a267cdcc1d17cd211566831b2117b5f8dbbe7ca 100644 GIT binary patch literal 3916 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 literal 3842 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 U=OG&pZeoE;mT-$|^Bdp(9c>cS6#xJL diff --git a/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_light_matrix.png b/packages/stream_core_flutter/test/components/message_composer/goldens/ci/message_composer_attachment_reply_light_matrix.png index 00799be9e23a8f4519e785afdd4d829e5eb41da3..c7dbbf6ad1e6e94037b1c5ba7e12e87f94c286e9 100644 GIT binary patch literal 3666 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 CDN!8& literal 3601 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 b_Yf$CMYxl>A1#}}I~{P*%o