UX: disable "Queue For Review" button if user can't perform action. (#13966)

UX: disable “Queue For Review” button if user can’t perform action. (#13966)

Currently, it’s returning JS error when trying to click the button when the action is already performed by the same staff user.

diff --git a/app/assets/javascripts/discourse/app/controllers/flag.js b/app/assets/javascripts/discourse/app/controllers/flag.js
index 87dbf1c..7834743 100644
--- a/app/assets/javascripts/discourse/app/controllers/flag.js
+++ b/app/assets/javascripts/discourse/app/controllers/flag.js
@@ -180,6 +180,13 @@ export default Controller.extend(ModalFunctionality, {
   },
 
   submitDisabled: not("submitEnabled"),
+  cantFlagForReview: not("notifyModeratorsFlag"),
+
+  @discourseComputed("flagsAvailable")
+  notifyModeratorsFlag(flagsAvailable) {
+    const notifyModeratorsID = 7;
+    return flagsAvailable.find((f) => f.id === notifyModeratorsID);
+  },
 
   // Staff accounts can "take action"
   @discourseComputed("flagTopic", "selected.is_custom_flag")
@@ -289,12 +296,7 @@ export default Controller.extend(ModalFunctionality, {
     },
 
     flagForReview() {
-      const notifyModeratorsID = 7;
-      const notifyModerators = this.flagsAvailable.find(
-        (f) => f.id === notifyModeratorsID
-      );
-      this.set("selected", notifyModerators);
-
+      this.set("selected", this.get("notifyModeratorsFlag"));
       this.send("createFlag", { queue_for_review: true });
       this.set("model.hidden", true);
     },
diff --git a/app/assets/javascripts/discourse/app/templates/modal/flag.hbs b/app/assets/javascripts/discourse/app/templates/modal/flag.hbs
index 4e11f46..250aa56 100644
--- a/app/assets/javascripts/discourse/app/templates/modal/flag.hbs
+++ b/app/assets/javascripts/discourse/app/templates/modal/flag.hbs
@@ -44,6 +44,7 @@
     {{d-button
       class="btn-danger"
       action=(action "flagForReview")
+      disabled=cantFlagForReview
       icon="exclamation-triangle"
       label="flagging.flag_for_review"
     }}

GitHub sha: 8c27e69523d2b120941704ccbe7c4ab89ce61518

This commit appears in #13966 which was approved by romanrizzi. It was merged by vinothkannans.