diff --git a/lib/pages/chat/events/image_bubble.dart b/lib/pages/chat/events/image_bubble.dart index 773cdb50..de079914 100644 --- a/lib/pages/chat/events/image_bubble.dart +++ b/lib/pages/chat/events/image_bubble.dart @@ -90,7 +90,9 @@ class ImageBubble extends StatelessWidget { fit: fit, animated: animated, isThumbnail: thumbnailOnly, - placeholder: _buildPlaceholder, + placeholder: event.messageType == MessageTypes.Sticker + ? null + : _buildPlaceholder, ), ), ), diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index db6b4421..6c6d01c2 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -22,7 +22,6 @@ import 'html_message.dart'; import 'image_bubble.dart'; import 'map_bubble.dart'; import 'message_download_content.dart'; -import 'sticker.dart'; class MessageContent extends StatelessWidget { final Event event; @@ -108,6 +107,8 @@ class MessageContent extends StatelessWidget { case EventTypes.Sticker: switch (event.messageType) { case MessageTypes.Image: + case MessageTypes.Sticker: + if (event.redacted) continue textmessage; const maxSize = 256.0; final w = event.content .tryGetMap('info') @@ -132,12 +133,6 @@ class MessageContent extends StatelessWidget { fit: BoxFit.contain, borderRadius: borderRadius, ); - case MessageTypes.Sticker: - if (event.redacted) continue textmessage; - return Sticker( - event, - borderRadius: borderRadius, - ); case CuteEventContent.eventType: return CuteContent(event); case MessageTypes.Audio: diff --git a/lib/pages/chat/events/sticker.dart b/lib/pages/chat/events/sticker.dart deleted file mode 100644 index e0e11684..00000000 --- a/lib/pages/chat/events/sticker.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'package:adaptive_dialog/adaptive_dialog.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:matrix/matrix.dart'; - -import '../../../config/app_config.dart'; -import 'image_bubble.dart'; - -class Sticker extends StatefulWidget { - final Event event; - final BorderRadius borderRadius; - - const Sticker(this.event, {required this.borderRadius, super.key}); - - @override - StickerState createState() => StickerState(); -} - -class StickerState extends State { - bool? animated; - - @override - Widget build(BuildContext context) { - return ImageBubble( - widget.event, - width: 256, - height: 256, - fit: BoxFit.contain, - borderRadius: widget.borderRadius, - onTap: () { - setState(() => animated = true); - showOkAlertDialog( - context: context, - message: widget.event.body, - okLabel: L10n.of(context)!.ok, - ); - }, - animated: animated ?? AppConfig.autoplayImages, - ); - } -}