Merge pull request #919 from pangeachat/audio-message-overlay

fixes audio message overlay warping
pull/1476/head
ggurdin 1 year ago committed by GitHub
commit 70db558bf4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -73,6 +73,8 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
final TtsController tts = TtsController(); final TtsController tts = TtsController();
bool isPlayingAudio = false; bool isPlayingAudio = false;
bool get showToolbarButtons => !widget._pangeaMessageEvent.isAudioMessage;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -281,9 +283,10 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
return reactionsEvents.where((e) => !e.redacted).isNotEmpty; return reactionsEvents.where((e) => !e.redacted).isNotEmpty;
} }
double get toolbarButtonsHeight =>
showToolbarButtons ? AppConfig.toolbarButtonsHeight : 0;
double get reactionsHeight => hasReactions ? 28 : 0; double get reactionsHeight => hasReactions ? 28 : 0;
double get belowMessageHeight => double get belowMessageHeight => toolbarButtonsHeight + reactionsHeight;
AppConfig.toolbarButtonsHeight + reactionsHeight;
void setIsPlayingAudio(bool isPlaying) { void setIsPlayingAudio(bool isPlaying) {
if (mounted) { if (mounted) {

@ -40,7 +40,7 @@ class ToolbarButtons extends StatelessWidget {
overlayController.isPracticeComplete || !messageInUserL2; overlayController.isPracticeComplete || !messageInUserL2;
final double barWidth = width - iconWidth; final double barWidth = width - iconWidth;
if (overlayController.pangeaMessageEvent.isAudioMessage) { if (!overlayController.showToolbarButtons) {
return const SizedBox(); return const SizedBox();
} }

@ -82,6 +82,17 @@ class OverlayMessage extends StatelessWidget {
: theme.colorScheme.primary; : theme.colorScheme.primary;
} }
final noBubble = {
MessageTypes.Video,
MessageTypes.Image,
MessageTypes.Sticker,
}.contains(pangeaMessageEvent.event.messageType) &&
!pangeaMessageEvent.event.redacted;
final noPadding = {
MessageTypes.File,
MessageTypes.Audio,
}.contains(pangeaMessageEvent.event.messageType);
return Material( return Material(
color: color, color: color,
clipBehavior: Clip.antiAlias, clipBehavior: Clip.antiAlias,
@ -95,10 +106,12 @@ class OverlayMessage extends StatelessWidget {
AppConfig.borderRadius, AppConfig.borderRadius,
), ),
), ),
padding: const EdgeInsets.symmetric( padding: noBubble || noPadding
horizontal: 16, ? EdgeInsets.zero
vertical: 8, : const EdgeInsets.symmetric(
), horizontal: 16,
vertical: 8,
),
width: messageWidth, width: messageWidth,
height: messageHeight, height: messageHeight,
child: MessageContent( child: MessageContent(

Loading…
Cancel
Save