@@ -624,16 +624,23 @@ class _SpoilerState extends State<Spoiler> with TickerProviderStateMixin {
624624}
625625
626626class MessageImageGallery extends StatelessWidget {
627- const MessageImageGallery ({super .key, required this .images});
627+ const MessageImageGallery ({
628+ super .key,
629+ required this .images,
630+ this .padding = EdgeInsets .zero,
631+ });
628632
629633 final List <ImageNode > images;
634+ final EdgeInsetsGeometry padding;
630635
631636 @override
632637 Widget build (BuildContext context) {
633- return Wrap (
634- spacing: 5 ,
635- runSpacing: 5 ,
636- children: images.map ((node) => MessageImageGalleryItem (node: node)).toList ());
638+ return Padding (
639+ padding: padding,
640+ child: Wrap (
641+ spacing: 5 ,
642+ runSpacing: 5 ,
643+ children: images.map ((node) => MessageImageGalleryItem (node: node)).toList ()));
637644 }
638645}
639646
@@ -1161,7 +1168,12 @@ class _InlineContentBuilder {
11611168
11621169 case InlineImageNodeList ():
11631170 return WidgetSpan (alignment: PlaceholderAlignment .middle,
1164- child: MessageImageGallery (images: node.inlineImages));
1171+ child: MessageImageGallery (
1172+ images: node.inlineImages,
1173+ // Half of [Paragraph]'s vertical spacing, mirroring web, which halves
1174+ // its inter-element space for the same case; see
1175+ // `p .message-thumbnail-gallery` in web/styles/rendered_markdown.css.
1176+ padding: const EdgeInsets .symmetric (vertical: 2 )));
11651177
11661178 case InlineImageNode ():
11671179 return WidgetSpan (alignment: PlaceholderAlignment .middle,
0 commit comments