Просмотр исходного кода

add isIntegrationSuccess and setIsIntegrationSuccess

zahmis 4 лет назад
Родитель
Сommit
c9709341ed

+ 22 - 17
src/client/js/components/Admin/SlackIntegration/CustomBotWithoutProxyIntegrationCard.jsx

@@ -23,23 +23,27 @@ const CustomBotWithoutProxyIntegrationCard = (props) => {
       </div>
 
       <div className="text-center w-25">
-        {/* TODO apply correct condition GW-5895 */}
-        <div className="mt-4">
-          <small
-            className="text-secondary m-0"
-                // eslint-disable-next-line react/no-danger
-            dangerouslySetInnerHTML={{ __html: t('admin:slack_integration.integration_sentence.integration_is_not_complete') }}
-          />
-          <hr className="align-self-center admin-border-danger border-danger"></hr>
-        </div>
-
-        <div className="mt-5">
-          <p className="text-success small">
-            <i className="fa fa-check mr-1" />
-            {t('admin:slack_integration.integration_sentence.integration_successful')}
-          </p>
-          <hr className="align-self-center admin-border-success border-success"></hr>
-        </div>
+        {props.isIntegrationSuccess
+          ? (
+            <div className="mt-5">
+              <p className="text-success small">
+                <i className="fa fa-check mr-1" />
+                {t('admin:slack_integration.integration_sentence.integration_successful')}
+              </p>
+              <hr className="align-self-center admin-border-success border-success"></hr>
+            </div>
+          )
+          : (
+            <div className="mt-4">
+              <small
+                className="text-secondary m-0"
+                  // eslint-disable-next-line react/no-danger
+                dangerouslySetInnerHTML={{ __html: t('admin:slack_integration.integration_sentence.integration_is_not_complete') }}
+              />
+              <hr className="align-self-center admin-border-danger border-danger"></hr>
+            </div>
+          )
+        }
 
       </div>
 
@@ -56,6 +60,7 @@ const CustomBotWithoutProxyIntegrationCard = (props) => {
 CustomBotWithoutProxyIntegrationCard.propTypes = {
   siteName: PropTypes.string.isRequired,
   slackWSNameInWithoutProxy: PropTypes.string,
+  isIntegrationSuccess: PropTypes.bool,
 };
 
 export default CustomBotWithoutProxyIntegrationCard;

+ 3 - 1
src/client/js/components/Admin/SlackIntegration/CustomBotWithoutProxySettings.jsx

@@ -9,7 +9,7 @@ import CustomBotWithoutProxyIntegrationCard from './CustomBotWithoutProxyIntegra
 import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal';
 
 const CustomBotWithoutProxySettings = (props) => {
-  const { appContainer, onResetSettings } = props;
+  const { appContainer, onResetSettings, isIntegrationSuccess } = props;
   const { t } = useTranslation();
 
   const [siteName, setSiteName] = useState('');
@@ -34,6 +34,7 @@ const CustomBotWithoutProxySettings = (props) => {
       <CustomBotWithoutProxyIntegrationCard
         siteName={siteName}
         slackWSNameInWithoutProxy={props.slackWSNameInWithoutProxy}
+        isIntegrationSuccess={isIntegrationSuccess}
       />
 
       <h2 className="admin-setting-header">{t('admin:slack_integration.custom_bot_without_proxy_settings')}</h2>
@@ -73,6 +74,7 @@ CustomBotWithoutProxySettings.propTypes = {
   slackBotToken: PropTypes.string,
   slackBotTokenEnv: PropTypes.string,
   isRgisterSlackCredentials: PropTypes.bool,
+  isIntegrationSuccess: PropTypes.bool,
   slackWSNameInWithoutProxy: PropTypes.string,
   onResetSettings: PropTypes.func,
 };

+ 5 - 2
src/client/js/components/Admin/SlackIntegration/CustomBotWithoutProxySettingsAccordion.jsx

@@ -19,7 +19,7 @@ const CustomBotWithoutProxySettingsAccordion = ({
   appContainer, activeStep, fetchSlackIntegrationData,
   slackSigningSecret, slackSigningSecretEnv, slackBotToken, slackBotTokenEnv,
   isRegisterSlackCredentials, isSendTestMessage,
-  onSetSlackSigningSecret, onSetSlackBotToken, onSetIsSendTestMessage,
+  onSetSlackSigningSecret, onSetSlackBotToken, onSetIsSendTestMessage, onSetIsIntegrationSuccess,
 }) => {
   const { t } = useTranslation();
   // TODO: GW-5644 Store default open accordion
@@ -73,11 +73,13 @@ const CustomBotWithoutProxySettingsAccordion = ({
       });
       setConnectionSuccessMessage('Send to message to slack ws.');
       onSetIsSendTestMessage(true);
+      onSetIsIntegrationSuccess(true);
     }
     catch (err) {
-      onSetIsSendTestMessage(false);
       setConnectionErrorCode(err[0].code);
       setConnectionErrorMessage(err[0].message);
+      onSetIsSendTestMessage(false);
+      onSetIsIntegrationSuccess(false);
     }
   };
 
@@ -219,6 +221,7 @@ CustomBotWithoutProxySettingsAccordion.propTypes = {
   onSetIsSendTestMessage: PropTypes.func,
   onSetIsRegisterSlackCredentials: PropTypes.func,
   setSlackWSNameInWithoutProxy: PropTypes.func,
+  onSetIsIntegrationSuccess: PropTypes.func,
 
   adminAppContainer: PropTypes.instanceOf(AdminAppContainer).isRequired,
   activeStep: PropTypes.oneOf(Object.values(botInstallationStep)).isRequired,

+ 3 - 0
src/client/js/components/Admin/SlackIntegration/SlackIntegration.jsx

@@ -25,6 +25,7 @@ const SlackIntegration = (props) => {
   const [slackBotTokenEnv, setSlackBotTokenEnv] = useState('');
   const [isRegisterSlackCredentials, setIsRegisterSlackCredentials] = useState(false);
   const [isSendTestMessage, setIsSendTestMessage] = useState(false);
+  const [isIntegrationSuccess, setIsIntegrationSuccess] = useState(false);
   const [slackWSNameInWithoutProxy, setSlackWSNameInWithoutProxy] = useState(null);
   const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false);
 
@@ -136,6 +137,8 @@ const SlackIntegration = (props) => {
           onSetIsSendTestMessage={setIsSendTestMessage}
           onResetSettings={resetWithOutSettings}
           fetchSlackIntegrationData={fetchSlackIntegrationData}
+          isIntegrationSuccess={isIntegrationSuccess}
+          onSetIsIntegrationSuccess={setIsIntegrationSuccess}
         />
       );
       break;