From c35534a12bf0f6645039adf28120a4b7084c6c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Poizat?= Date: Mon, 2 Mar 2026 09:21:43 +0100 Subject: [PATCH] Add toast when copying Scribe suggestion --- scribe/lib/scribe/ai/l10n/intl_ar.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_de.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_en.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_fr.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_it.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_messages.arb | 8 +++++++- scribe/lib/scribe/ai/l10n/intl_ru.arb | 6 ++++++ scribe/lib/scribe/ai/l10n/intl_vi.arb | 6 ++++++ .../lib/scribe/ai/localizations/scribe_localizations.dart | 7 +++++++ .../suggestion/ai_scribe_suggestion_success_toolbar.dart | 8 ++++++++ 10 files changed, 64 insertions(+), 1 deletion(-) diff --git a/scribe/lib/scribe/ai/l10n/intl_ar.arb b/scribe/lib/scribe/ai/l10n/intl_ar.arb index 48566aa08..c67c53147 100644 --- a/scribe/lib/scribe/ai/l10n/intl_ar.arb +++ b/scribe/lib/scribe/ai/l10n/intl_ar.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "تم نسخ النتيجة إلى الحافظة", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/l10n/intl_de.arb b/scribe/lib/scribe/ai/l10n/intl_de.arb index f2c4f1274..18552d949 100644 --- a/scribe/lib/scribe/ai/l10n/intl_de.arb +++ b/scribe/lib/scribe/ai/l10n/intl_de.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Ergebnis in die Zwischenablage kopiert", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/l10n/intl_en.arb b/scribe/lib/scribe/ai/l10n/intl_en.arb index c2db969ee..9f2ca63fd 100644 --- a/scribe/lib/scribe/ai/l10n/intl_en.arb +++ b/scribe/lib/scribe/ai/l10n/intl_en.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Result copied to clipboard", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } \ No newline at end of file diff --git a/scribe/lib/scribe/ai/l10n/intl_fr.arb b/scribe/lib/scribe/ai/l10n/intl_fr.arb index 94d2737e3..9c0f2efdc 100644 --- a/scribe/lib/scribe/ai/l10n/intl_fr.arb +++ b/scribe/lib/scribe/ai/l10n/intl_fr.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Résultat copié dans le presse-papiers", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/l10n/intl_it.arb b/scribe/lib/scribe/ai/l10n/intl_it.arb index 85a9edd3b..334603dab 100644 --- a/scribe/lib/scribe/ai/l10n/intl_it.arb +++ b/scribe/lib/scribe/ai/l10n/intl_it.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Risultato copiato negli appunti", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/l10n/intl_messages.arb b/scribe/lib/scribe/ai/l10n/intl_messages.arb index a7dac6e9b..94ac6c6b8 100644 --- a/scribe/lib/scribe/ai/l10n/intl_messages.arb +++ b/scribe/lib/scribe/ai/l10n/intl_messages.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-02-09T16:58:15.727654", + "@@last_modified": "2026-03-02T09:20:40.561113", "categoryCorrectGrammar": "Correct", "@categoryCorrectGrammar": { "type": "text", @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Result copied to clipboard", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } \ No newline at end of file diff --git a/scribe/lib/scribe/ai/l10n/intl_ru.arb b/scribe/lib/scribe/ai/l10n/intl_ru.arb index bde115066..eb272d1db 100644 --- a/scribe/lib/scribe/ai/l10n/intl_ru.arb +++ b/scribe/lib/scribe/ai/l10n/intl_ru.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Результат скопирован в буфер обмена", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/l10n/intl_vi.arb b/scribe/lib/scribe/ai/l10n/intl_vi.arb index 3c5f6eb4f..bcba870e1 100644 --- a/scribe/lib/scribe/ai/l10n/intl_vi.arb +++ b/scribe/lib/scribe/ai/l10n/intl_vi.arb @@ -143,5 +143,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "copiedToClipboard": "Kết quả đã được sao chép vào clipboard", + "@copiedToClipboard": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } diff --git a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart index c7b684754..a2abf1876 100644 --- a/scribe/lib/scribe/ai/localizations/scribe_localizations.dart +++ b/scribe/lib/scribe/ai/localizations/scribe_localizations.dart @@ -199,6 +199,13 @@ class ScribeLocalizations { name: 'retry', ); } + + String get copiedToClipboard { + return Intl.message( + 'Result copied to clipboard', + name: 'copiedToClipboard', + ); + } } class _ScribeLocalizationsDelegate diff --git a/scribe/lib/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_toolbar.dart b/scribe/lib/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_toolbar.dart index ad85bd695..c30c8f8af 100644 --- a/scribe/lib/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_toolbar.dart +++ b/scribe/lib/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_toolbar.dart @@ -1,6 +1,8 @@ +import 'package:core/presentation/utils/app_toast.dart'; import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:get/get.dart'; import 'package:scribe/scribe.dart'; import 'package:core/presentation/resources/image_paths.dart'; @@ -18,6 +20,8 @@ class AiScribeSuggestionSuccessToolbar extends StatelessWidget { @override Widget build(BuildContext context) { + final appToast = Get.find(); + return Row( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -29,6 +33,10 @@ class AiScribeSuggestionSuccessToolbar extends StatelessWidget { tooltipMessage: ScribeLocalizations.of(context).copy, onTapActionCallback: () { Clipboard.setData(ClipboardData(text: suggestionText)); + appToast.showToastSuccessMessage( + context, + ScribeLocalizations.of(context).copiedToClipboard, + ); }, ), TMailButtonWidget.fromIcon(