From 792c0f57ba642f570d52082a6ef37f1ba89639f6 Mon Sep 17 00:00:00 2001
From: Alexandru Munteanu <alexandru.munt@gmail.com>
Date: Wed, 11 Jul 2018 14:05:25 +0300
Subject: [PATCH] feat(submit-revision): add confirmation modal

---
 .../src/components/SubmitRevision.js             |  7 +++++++
 .../component-manuscript/src/components/utils.js | 16 ++++++++++++----
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/packages/component-manuscript/src/components/SubmitRevision.js b/packages/component-manuscript/src/components/SubmitRevision.js
index 588738f03..0e31f0c3e 100644
--- a/packages/component-manuscript/src/components/SubmitRevision.js
+++ b/packages/component-manuscript/src/components/SubmitRevision.js
@@ -15,6 +15,10 @@ import {
   getFormValues,
   change as changeForm,
 } from 'redux-form'
+import {
+  withModal,
+  ConfirmationModal,
+} from 'pubsweet-component-modal/src/components'
 import { AuthorList, Files } from 'pubsweet-components-faraday/src/components'
 import { submitRevision } from 'pubsweet-component-wizard/src/redux/conversion'
 import AutosaveIndicator from 'pubsweet-component-wizard/src/components/AutosaveIndicator'
@@ -141,6 +145,9 @@ export default compose(
       version,
     }),
   ),
+  withModal(props => ({
+    modalComponent: ConfirmationModal,
+  })),
   connect(
     state => ({
       fileFetching: getRequestStatus(state),
diff --git a/packages/component-manuscript/src/components/utils.js b/packages/component-manuscript/src/components/utils.js
index 0b84aa294..9d5b5f896 100644
--- a/packages/component-manuscript/src/components/utils.js
+++ b/packages/component-manuscript/src/components/utils.js
@@ -160,11 +160,11 @@ export const onReviewSubmit = (
   values,
   dispatch,
   {
-    isSubmitting,
-    showModal,
-    hideModal,
     project,
     version,
+    showModal,
+    hideModal,
+    isSubmitting,
     updateRecommendation,
   },
 ) => {
@@ -203,9 +203,17 @@ export const onRevisionChange = debounce(_onRevisionChange, 1000, {
 export const onRevisionSubmit = (
   values,
   dispatch,
-  { submitRevision, version, project },
+  { submitRevision, version, project, showModal, hideModal },
 ) => {
   // submitRevision(project.id, version.id)
+  showModal({
+    title: 'Ready to submit your revision?',
+    subtitle: `Once submitted, the submission can't be modified.`,
+    onConfirm: () => {
+      hideModal()
+    },
+    onCancel: hideModal,
+  })
 }
 
 // revision validators
-- 
GitLab