import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import '../models/media_attachment.dart'; class ImageViewerScreen extends StatelessWidget { final MediaAttachment attachment; const ImageViewerScreen({super.key, required this.attachment}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: InteractiveViewer( clipBehavior: Clip.none, constrained: true, maxScale: 10.0, scaleFactor: 0.1, child: CachedNetworkImage(imageUrl: attachment.uri.toString()), ), ), if (attachment.description.isNotEmpty) Padding( padding: const EdgeInsets.only( left: 8.0, right: 8.0, bottom: 8.0, ), child: Text(attachment.description), ), ], ), )); } }