fix giphy background
This commit is contained in:
+16
-19
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user