From 41ada11b53f79ab997ad3f1cc805b4013a9a400c Mon Sep 17 00:00:00 2001 From: sienna-sterling <112006749+sienna-sterling@users.noreply.github.com> Date: Fri, 14 Mar 2025 16:21:04 -0400 Subject: [PATCH] fix(speech to text): speech to text now working. Also fixed overflow caused by tooltop message --- .../widgets/message_selection_overlay.dart | 2 +- .../widgets/message_speech_to_text_card.dart | 83 +++++++++---------- 2 files changed, 40 insertions(+), 45 deletions(-) diff --git a/lib/pangea/toolbar/widgets/message_selection_overlay.dart b/lib/pangea/toolbar/widgets/message_selection_overlay.dart index a4565dc11..fcfde8d52 100644 --- a/lib/pangea/toolbar/widgets/message_selection_overlay.dart +++ b/lib/pangea/toolbar/widgets/message_selection_overlay.dart @@ -148,7 +148,7 @@ class MessageOverlayController extends State Future _setInitialToolbarMode() async { if (pangeaMessageEvent?.isAudioMessage ?? false) { - updateToolbarMode(MessageMode.messageTextToSpeech); + updateToolbarMode(MessageMode.messageSpeechToText); return; } diff --git a/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart b/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart index 90fc722fe..27a1d5e35 100644 --- a/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart +++ b/lib/pangea/toolbar/widgets/message_speech_to_text_card.dart @@ -176,51 +176,46 @@ class MessageSpeechToTextCardState extends State { } //TODO: find better icons - return Padding( - padding: const EdgeInsets.all(16), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const SizedBox(height: 8), - RichText( - text: transcriptText!, + return ConstrainedBox( + constraints: const BoxConstraints( + maxWidth: AppConfig.toolbarMinWidth, + maxHeight: AppConfig.toolbarMaxHeight, + ), + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + RichText( + text: transcriptText!, + ), + if (widget.messageEvent.senderId == + Matrix.of(context).client.userID) + Column( + children: [ + const SizedBox(height: 16), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + IconNumberWidget( + icon: Icons.speed, + number: wordsPerMinuteString != null + ? "$wordsPerMinuteString" + : "??", + toolTip: L10n.of(context).wordsPerMinute, + ), + ], + ), + const InstructionsInlineTooltip( + instructionsEnum: InstructionsEnum.speechToText, + ), + ], + ), + ], ), - if (widget.messageEvent.senderId == Matrix.of(context).client.userID) - Column( - children: [ - const SizedBox(height: 16), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - // IconNumberWidget( - // icon: Symbols.target, - // number: - // "${selectedToken?.confidence ?? speechToTextResponse!.transcript.confidence}%", - // toolTip: L10n.of(context).accuracy, - // ), - // const SizedBox(width: 16), - IconNumberWidget( - icon: Icons.speed, - number: wordsPerMinuteString != null - ? "$wordsPerMinuteString" - : "??", - toolTip: L10n.of(context).wordsPerMinute, - ), - ], - ), - const Row( - mainAxisSize: MainAxisSize.min, - children: [ - Expanded( - child: InstructionsInlineTooltip( - instructionsEnum: InstructionsEnum.speechToText, - ), - ), - ], - ), - ], - ), - ], + ), ), ); }