imageUI method

dynamic imageUI(
  1. dynamic context,
  2. dynamic mediaState
)

Implementation

Widget imageUI(BuildContext context, AttachmentMediaState mediaState) {
  return InkWell(
    onTap: openView!
        ? () {
            final msgContent = attachment.msgContent();
            showAdaptiveDialog(
              context: context,
              barrierDismissible: false,
              useRootNavigator: false,
              builder: (context) => ImageDialog(
                title: msgContent.body(),
                imageFile: mediaState.mediaFile!,
              ),
            );
          }
        : null,
    child: ClipRRect(
      borderRadius: BorderRadius.circular(6),
      child: Image.file(
        mediaState.mediaFile!,
        frameBuilder: (
          BuildContext context,
          Widget child,
          int? frame,
          bool wasSynchronouslyLoaded,
        ) {
          if (wasSynchronouslyLoaded) {
            return child;
          }
          return AnimatedOpacity(
            opacity: frame == null ? 0 : 1,
            duration: const Duration(seconds: 1),
            curve: Curves.easeOut,
            child: child,
          );
        },
        errorBuilder: (
          BuildContext context,
          Object url,
          StackTrace? error,
        ) {
          return Text('Could not load image due to $error');
        },
        fit: BoxFit.cover,
      ),
    ),
  );
}