From 264b11362e35dbc05592b20da2bd8b3b57c6c937 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Wed, 11 Nov 2020 18:04:13 +0100 Subject: [PATCH] remove inkwell from url attachment --- lib/src/message_widget.dart | 2 - lib/src/url_attachment.dart | 155 +++++++++++++++++------------------- 2 files changed, 73 insertions(+), 84 deletions(-) diff --git a/lib/src/message_widget.dart b/lib/src/message_widget.dart index a41bc97f..f9871d69 100644 --- a/lib/src/message_widget.dart +++ b/lib/src/message_widget.dart @@ -1,7 +1,6 @@ import 'dart:math'; import 'dart:ui'; -import 'package:cached_network_image/cached_network_image.dart'; import 'package:emojis/emoji.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; @@ -17,7 +16,6 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'image_group.dart'; import 'message_text.dart'; -import 'utils.dart'; typedef AttachmentBuilder = Widget Function(BuildContext, Message, Attachment); diff --git a/lib/src/url_attachment.dart b/lib/src/url_attachment.dart index c6b0b3f7..a873217f 100644 --- a/lib/src/url_attachment.dart +++ b/lib/src/url_attachment.dart @@ -16,97 +16,88 @@ class UrlAttachment extends StatelessWidget { @override Widget build(BuildContext context) { - return Stack( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - if (urlAttachment.imageUrl != null) - SizedBox( - height: 16.0, - ), - if (urlAttachment.imageUrl != null) - Container( - clipBehavior: Clip.antiAliasWithSaveLayer, - margin: EdgeInsets.symmetric(horizontal: 8.0), - child: Stack( - children: [ - Center( - child: CachedNetworkImage( - imageUrl: urlAttachment.imageUrl, - ), - ), - Positioned( - left: 0.0, - bottom: -1, - child: Container( - child: Padding( - padding: const EdgeInsets.only( - top: 8.0, - left: 8.0, - right: 8.0, - ), - child: Text( - hostDisplayName, - style: TextStyle( - fontWeight: FontWeight.w700, - color: Color(0xFF006CFF), - ), - ), - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - topRight: Radius.circular(16.0), - ), - color: Color(0xFFE9F2FF), - ), - ), - ), - ], - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8.0), - ), - ), - Padding( - padding: textPadding, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + return GestureDetector( + onTap: () => launchURL( + context, + urlAttachment.ogScrapeUrl, + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (urlAttachment.imageUrl != null) + SizedBox( + height: 16.0, + ), + if (urlAttachment.imageUrl != null) + Container( + clipBehavior: Clip.antiAliasWithSaveLayer, + margin: EdgeInsets.symmetric(horizontal: 8.0), + child: Stack( children: [ - if (urlAttachment.title != null) - Text( - urlAttachment.title, - maxLines: 1, - style: TextStyle( - fontWeight: FontWeight.w700, - fontSize: 12.0, - ), + Center( + child: CachedNetworkImage( + imageUrl: urlAttachment.imageUrl, ), - if (urlAttachment.text != null) - Text( - urlAttachment.text, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 12.0, + ), + Positioned( + left: 0.0, + bottom: -1, + child: Container( + child: Padding( + padding: const EdgeInsets.only( + top: 8.0, + left: 8.0, + right: 8.0, + ), + child: Text( + hostDisplayName, + style: TextStyle( + fontWeight: FontWeight.w700, + color: Color(0xFF006CFF), + ), + ), + ), + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topRight: Radius.circular(16.0), + ), + color: Color(0xFFE9F2FF), ), ), + ), ], ), - ), - ], - ), - Positioned.fill( - child: Material( - color: Colors.transparent, - child: InkWell( - onTap: () => launchURL( - context, - urlAttachment.ogScrapeUrl, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8.0), ), ), + Padding( + padding: textPadding, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (urlAttachment.title != null) + Text( + urlAttachment.title, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontSize: 12.0, + ), + ), + if (urlAttachment.text != null) + Text( + urlAttachment.text, + style: TextStyle( + fontWeight: FontWeight.w400, + fontSize: 12.0, + ), + ), + ], + ), ), - ), - ], + ], + ), ); } }