diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index ef3042700..a7fb07449 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3951,7 +3951,7 @@ "autoIGCToolName": "Run Language Assistance Automatically", "autoIGCToolDescription": "Automatically run language assistance after typing messages", "runGrammarCorrection": "Run grammar correction", - "grammarCorrectionFailed": "Grammar correction failed", + "grammarCorrectionFailed": "Issues to address", "grammarCorrectionComplete": "Grammar correction complete", "leaveRoomDescription": "The chat will be moved to the archive. Other users will be able to see that you have left the chat.", "archiveSpaceDescription": "All chats within this space will be moved to the archive for yourself and other non-admin users.", diff --git a/lib/pangea/choreographer/widgets/start_igc_button.dart b/lib/pangea/choreographer/widgets/start_igc_button.dart index 183ac690d..5f786306f 100644 --- a/lib/pangea/choreographer/widgets/start_igc_button.dart +++ b/lib/pangea/choreographer/widgets/start_igc_button.dart @@ -33,7 +33,7 @@ class StartIGCButtonState extends State void initState() { _controller = AnimationController( vsync: this, - duration: const Duration(seconds: 1), + duration: const Duration(seconds: 2), ); choreoListener = widget.controller.choreographer.stateListener.stream .listen(updateSpinnerState); @@ -54,14 +54,15 @@ class StartIGCButtonState extends State @override Widget build(BuildContext context) { - if (widget.controller.choreographer.isAutoIGCEnabled) { + if (widget.controller.choreographer.isAutoIGCEnabled || + widget.controller.choreographer.choreoMode == ChoreoMode.it) { return const SizedBox.shrink(); } final Widget icon = Icon( Icons.autorenew_rounded, size: 46, - color: assistanceState.stateColor, + color: assistanceState.stateColor(context), ); return SizedBox( @@ -71,15 +72,23 @@ class StartIGCButtonState extends State tooltip: assistanceState.tooltip( L10n.of(context)!, ), - backgroundColor: Colors.white, + backgroundColor: Theme.of(context).scaffoldBackgroundColor, disabledElevation: 0, shape: const CircleBorder(), onPressed: () { if (assistanceState != AssistanceState.complete) { - widget.controller.choreographer.getLanguageHelp( + widget.controller.choreographer + .getLanguageHelp( false, true, - ); + ) + .then((_) { + if (widget.controller.choreographer.igc.igcTextData != null && + widget.controller.choreographer.igc.igcTextData!.matches + .isNotEmpty) { + widget.controller.choreographer.igc.showFirstMatch(context); + } + }); } }, child: Stack( @@ -95,9 +104,9 @@ class StartIGCButtonState extends State Container( width: 26, height: 26, - decoration: const BoxDecoration( + decoration: BoxDecoration( shape: BoxShape.circle, - color: Colors.white, + color: Theme.of(context).scaffoldBackgroundColor, ), ), Container( @@ -105,13 +114,13 @@ class StartIGCButtonState extends State height: 20, decoration: BoxDecoration( shape: BoxShape.circle, - color: assistanceState.stateColor, + color: assistanceState.stateColor(context), ), ), - const Icon( + Icon( size: 16, Icons.check, - color: Colors.white, + color: Theme.of(context).scaffoldBackgroundColor, ), ], ), @@ -121,12 +130,12 @@ class StartIGCButtonState extends State } extension AssistanceStateExtension on AssistanceState { - Color get stateColor { + Color stateColor(context) { switch (this) { case AssistanceState.noMessage: case AssistanceState.notFetched: case AssistanceState.fetching: - return AppConfig.primaryColor; + return Theme.of(context).colorScheme.primary; case AssistanceState.fetched: return PangeaColors.igcError; case AssistanceState.complete: