kaori 4 лет назад
Родитель
Сommit
39b5a7a19b

+ 17 - 5
src/client/js/components/Admin/SlackIntegration/OfficialbotSettingsAccordion.jsx

@@ -1,12 +1,15 @@
 import React from 'react';
+import PropTypes from 'prop-types';
 import { useTranslation } from 'react-i18next';
+import { withUnstatedContainers } from '../../UnstatedUtils';
 import Accordion from '../Common/Accordion';
 import AdminUpdateButtonRow from '../Common/AdminUpdateButtonRow';
+import AppContainer from '../../../services/AppContainer';
 
-const growiUrl = window.location.host;
-
-const OfficialBotSettingsAccordion = () => {
+const OfficialBotSettingsAccordion = (props) => {
   const { t } = useTranslation();
+  const { appContainer } = props;
+  const siteUrl = appContainer.config.crowi.url;
 
   return (
     <div className="card border-0 rounded-lg shadow overflow-hidden">
@@ -65,7 +68,7 @@ const OfficialBotSettingsAccordion = () => {
               <li><p className="ml-2">Slack上で`/growi register`と打つ</p></li>
               {/* TODO: Copy to clipboard on click by GW5856 */}
               <li>
-                <p className="ml-2"><b>GROWI URL</b>には{growiUrl}
+                <p className="ml-2"><b>GROWI URL</b>には{siteUrl}
                   <i className="fa fa-clipboard mx-1 text-secondary" aria-hidden="true"></i>
                   を貼り付ける
                 </p>
@@ -140,4 +143,13 @@ const OfficialBotSettingsAccordion = () => {
   );
 };
 
-export default OfficialBotSettingsAccordion;
+/**
+ * Wrapper component for using unstated
+ */
+const OfficialBotSettingsAccordionWrapper = withUnstatedContainers(OfficialBotSettingsAccordion, [AppContainer]);
+
+OfficialBotSettingsAccordion.propTypes = {
+  appContainer: PropTypes.instanceOf(AppContainer).isRequired,
+};
+
+export default OfficialBotSettingsAccordionWrapper;