Skip to content

Commit edb9a33

Browse files
content [nfc]: Pull out MessageMediaContainer widget
1 parent 3909891 commit edb9a33

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

lib/widgets/content.dart

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -389,11 +389,34 @@ class MessageImage extends StatelessWidget {
389389
final resolvedSrc = store.tryResolveUrl(src);
390390
// TODO if src fails to parse, show an explicit "broken image"
391391

392-
return GestureDetector(
392+
return MessageMediaContainer(
393393
onTap: resolvedSrc == null ? null : () { // TODO(log)
394394
Navigator.of(context).push(getLightboxRoute(
395395
context: context, message: message, src: resolvedSrc));
396396
},
397+
child: resolvedSrc == null ? null : LightboxHero(
398+
message: message,
399+
src: resolvedSrc,
400+
child: RealmContentNetworkImage(
401+
resolvedSrc,
402+
filterQuality: FilterQuality.medium)));
403+
}
404+
}
405+
406+
class MessageMediaContainer extends StatelessWidget {
407+
const MessageMediaContainer({
408+
super.key,
409+
required this.onTap,
410+
required this.child,
411+
});
412+
413+
final void Function()? onTap;
414+
final Widget? child;
415+
416+
@override
417+
Widget build(BuildContext context) {
418+
return GestureDetector(
419+
onTap: onTap,
397420
child: UnconstrainedBox(
398421
alignment: Alignment.centerLeft,
399422
child: Padding(
@@ -407,12 +430,7 @@ class MessageImage extends StatelessWidget {
407430
child: SizedBox(
408431
height: 100,
409432
width: 150,
410-
child: resolvedSrc == null ? null : LightboxHero(
411-
message: message,
412-
src: resolvedSrc,
413-
child: RealmContentNetworkImage(
414-
resolvedSrc,
415-
filterQuality: FilterQuality.medium))))))));
433+
child: child))))));
416434
}
417435
}
418436

0 commit comments

Comments
 (0)