Skip to content

Commit ee77697

Browse files
committed
content: Add padding for inline image gallery
Fixes #2206.
1 parent fe1a9cb commit ee77697

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

lib/widgets/content.dart

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -624,16 +624,23 @@ class _SpoilerState extends State<Spoiler> with TickerProviderStateMixin {
624624
}
625625

626626
class 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

Comments
 (0)