Skip to content

Commit 5bf37c2

Browse files
content [nfc]: Pull out MessageMediaContainer widget
1 parent 503425c commit 5bf37c2

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
@@ -390,11 +390,34 @@ class MessageImage extends StatelessWidget {
390390
final resolvedSrc = store.tryResolveUrl(src);
391391
// TODO if src fails to parse, show an explicit "broken image"
392392

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

0 commit comments

Comments
 (0)