fix giphy background

This commit is contained in:
Salvatore Giordano
2020-12-04 15:42:26 +01:00
parent 44cd3754fb
commit 5365082e4a
+16 -19
View File
@@ -186,9 +186,7 @@ class MessageWidget extends StatefulWidget {
'giphy': (context, message, attachment) { 'giphy': (context, message, attachment) {
return GiphyAttachment( return GiphyAttachment(
attachment: attachment, attachment: attachment,
messageTheme: messageTheme.copyWith( messageTheme: messageTheme,
messageBackgroundColor: Colors.white,
),
message: message, message: message,
size: Size( size: Size(
MediaQuery.of(context).size.width * 0.8, MediaQuery.of(context).size.width * 0.8,
@@ -219,13 +217,6 @@ class _MessageWidgetState extends State<MessageWidget> {
? widget.messageTheme.avatarTheme.constraints.maxWidth + 16.0 ? widget.messageTheme.avatarTheme.constraints.maxWidth + 16.0
: 6.0; : 6.0;
final isGiphy =
widget.message.attachments?.any((element) => element.type == 'giphy') ==
true;
final isOnlyEmoji =
widget.message.text.characters.every((c) => Emoji.byChar(c) != null);
final hasFiles = final hasFiles =
widget.message.attachments?.any((element) => element.type == 'file') == widget.message.attachments?.any((element) => element.type == 'file') ==
true; true;
@@ -484,6 +475,10 @@ class _MessageWidgetState extends State<MessageWidget> {
); );
} }
bool get isGiphy =>
widget.message.attachments?.any((element) => element.type == 'giphy') ==
true;
Widget _buildReadIndicator() { Widget _buildReadIndicator() {
var padding = 0.0; var padding = 0.0;
return Stack( return Stack(
@@ -675,9 +670,8 @@ class _MessageWidgetState extends State<MessageWidget> {
onTap: () => retryMessage(context), onTap: () => retryMessage(context),
onLongPress: () => onLongPress(context), onLongPress: () => onLongPress(context),
child: Material( child: Material(
color: color: _getBackgroundColor(),
attachment?.type == 'giphy' ? Colors.white : _getBackgroundColor(), clipBehavior: Clip.antiAlias,
clipBehavior: Clip.hardEdge,
shape: attachmentShape, shape: attachmentShape,
child: Padding( child: Padding(
padding: widget.attachmentPadding, padding: widget.attachmentPadding,
@@ -828,9 +822,6 @@ class _MessageWidgetState extends State<MessageWidget> {
} }
Widget _buildTextBubble(BuildContext context) { Widget _buildTextBubble(BuildContext context) {
final isOnlyEmoji =
widget.message.text.characters.every((c) => Emoji.byChar(c) != null);
Widget child = Transform( Widget child = Transform(
transform: Matrix4.rotationY(widget.reverse ? pi : 0), transform: Matrix4.rotationY(widget.reverse ? pi : 0),
alignment: Alignment.center, alignment: Alignment.center,
@@ -874,10 +865,11 @@ class _MessageWidgetState extends State<MessageWidget> {
); );
} }
Color _getBackgroundColor() { bool get isOnlyEmoji =>
final isOnlyEmoji = widget.message.text.characters.isNotEmpty &&
widget.message.text.characters.every((c) => Emoji.byChar(c) != null); widget.message.text.characters.every((c) => Emoji.byChar(c) != null);
Color _getBackgroundColor() {
if ((widget.message.status == MessageSendingStatus.FAILED || if ((widget.message.status == MessageSendingStatus.FAILED ||
widget.message.status == MessageSendingStatus.FAILED_UPDATE || widget.message.status == MessageSendingStatus.FAILED_UPDATE ||
widget.message.status == MessageSendingStatus.FAILED_DELETE)) { widget.message.status == MessageSendingStatus.FAILED_DELETE)) {
@@ -893,6 +885,11 @@ class _MessageWidgetState extends State<MessageWidget> {
if (isOnlyEmoji) { if (isOnlyEmoji) {
return Colors.transparent; return Colors.transparent;
} }
if (isGiphy) {
return Colors.transparent;
}
return widget.messageTheme.messageBackgroundColor; return widget.messageTheme.messageBackgroundColor;
} }