diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index 3d8aa0d11..764f437b1 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -1,23 +1,23 @@ import 'dart:async'; import 'dart:io'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - import 'package:async/async.dart'; -import 'package:flutter_linkify/flutter_linkify.dart'; -import 'package:just_audio/just_audio.dart'; -import 'package:matrix/matrix.dart'; -import 'package:opus_caf_converter_dart/opus_caf_converter_dart.dart'; -import 'package:path_provider/path_provider.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/utils/error_reporter.dart'; import 'package:fluffychat/utils/file_description.dart'; import 'package:fluffychat/utils/localized_exception_extension.dart'; import 'package:fluffychat/utils/url_launcher.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_linkify/flutter_linkify.dart'; +import 'package:just_audio/just_audio.dart'; +import 'package:matrix/matrix.dart'; +import 'package:opus_caf_converter_dart/opus_caf_converter_dart.dart'; +import 'package:path_provider/path_provider.dart'; + import '../../../utils/matrix_sdk_extensions/event_extension.dart'; +import '../../../widgets/fluffy_chat_app.dart'; import '../../../widgets/matrix.dart'; class AudioPlayerWidget extends StatefulWidget { @@ -63,38 +63,35 @@ class AudioPlayerState extends State { ScaffoldMessenger.of(matrix.context).showMaterialBanner( MaterialBanner( padding: EdgeInsets.zero, - content: Row( - children: [ - StreamBuilder( - stream: audioPlayer.playerStateStream.asBroadcastStream(), - builder: (context, _) => IconButton( - onPressed: () { - if (audioPlayer.isAtEndPosition) { - audioPlayer.seek(Duration.zero); - } else if (audioPlayer.playing) { - audioPlayer.pause(); - } else { - audioPlayer.play(); - } - }, - icon: audioPlayer.playing && !audioPlayer.isAtEndPosition - ? const Icon(Icons.pause_outlined) - : const Icon(Icons.play_arrow_outlined), - ), + leading: StreamBuilder( + stream: audioPlayer.playerStateStream.asBroadcastStream(), + builder: (context, _) => IconButton( + onPressed: () { + if (audioPlayer.isAtEndPosition) { + audioPlayer.seek(Duration.zero); + } else if (audioPlayer.playing) { + audioPlayer.pause(); + } else { + audioPlayer.play(); + } + }, + icon: audioPlayer.playing && !audioPlayer.isAtEndPosition + ? const Icon(Icons.pause_outlined) + : const Icon(Icons.play_arrow_outlined), + ), + ), + content: StreamBuilder( + stream: audioPlayer.positionStream.asBroadcastStream(), + builder: (context, _) => GestureDetector( + onTap: () => FluffyChatApp.router.go( + '/rooms/${widget.event.room.id}?event=${widget.event.eventId}', ), - Expanded( - child: StreamBuilder( - stream: audioPlayer.positionStream.asBroadcastStream(), - builder: (context, _) { - return Text( - '🎙️ ${audioPlayer.position.minuteSecondString} / ${audioPlayer.duration?.minuteSecondString} - ${widget.event.senderFromMemoryOrFallback.calcDisplayname()}', - maxLines: 1, - overflow: TextOverflow.ellipsis, - ); - }, - ), + child: Text( + '🎙️ ${audioPlayer.position.minuteSecondString} / ${audioPlayer.duration?.minuteSecondString} - ${widget.event.senderFromMemoryOrFallback.calcDisplayname()}', + maxLines: 1, + overflow: TextOverflow.ellipsis, ), - ], + ), ), actions: [ IconButton(