Skip to content

Commit 33c9779

Browse files
PIG208chrisbobbe
andcommitted
compose [nfc]: Make confirmation dialog message flexible
[chris: small formatting/naming changes] Co-authored-by: Chris Bobbe <[email protected]>
1 parent a268695 commit 33c9779

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

lib/widgets/compose_box.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1849,11 +1849,13 @@ class _ComposeBoxState extends State<ComposeBox> with PerAccountStoreAwareStateM
18491849

18501850
@override
18511851
void startEditInteraction(int messageId) async {
1852-
if (await _abortBecauseContentInputNotEmpty()) return;
1853-
if (!mounted) return;
1852+
final zulipLocalizations = ZulipLocalizations.of(context);
1853+
1854+
final abort = await _abortBecauseContentInputNotEmpty(
1855+
dialogMessage: zulipLocalizations.discardDraftConfirmationDialogMessage);
1856+
if (abort || !mounted) return;
18541857

18551858
final store = PerAccountStoreWidget.of(context);
1856-
final zulipLocalizations = ZulipLocalizations.of(context);
18571859

18581860
switch (store.getEditMessageErrorStatus(messageId)) {
18591861
case null:
@@ -1878,12 +1880,14 @@ class _ComposeBoxState extends State<ComposeBox> with PerAccountStoreAwareStateM
18781880

18791881
/// If there's text in the compose box, give a confirmation dialog
18801882
/// asking if it can be discarded and await the result.
1881-
Future<bool> _abortBecauseContentInputNotEmpty() async {
1883+
Future<bool> _abortBecauseContentInputNotEmpty({
1884+
required String dialogMessage,
1885+
}) async {
18821886
final zulipLocalizations = ZulipLocalizations.of(context);
18831887
if (controller.content.textNormalized.isNotEmpty) {
18841888
final dialog = showSuggestedActionDialog(context: context,
18851889
title: zulipLocalizations.discardDraftConfirmationDialogTitle,
1886-
message: zulipLocalizations.discardDraftConfirmationDialogMessage,
1890+
message: dialogMessage,
18871891
// TODO(#1032) "destructive" style for action button
18881892
actionButtonText: zulipLocalizations.discardDraftConfirmationDialogConfirmButton);
18891893
if (await dialog.result != true) return true;

0 commit comments

Comments
 (0)