import React, { useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import PropTypes from 'prop-types'; import AppContainer from '../../../services/AppContainer'; import { withUnstatedContainers } from '../../UnstatedUtils'; import CustomBotWithoutProxySettingsAccordion, { botInstallationStep } from './CustomBotWithoutProxySettingsAccordion'; import CustomBotWithoutProxyConnectionStatus from './CustomBotWithoutProxyConnectionStatus'; const CustomBotWithoutProxySettings = (props) => { const { appContainer, connectionStatuses } = props; const { t } = useTranslation(); const [siteName, setSiteName] = useState(''); useEffect(() => { const siteName = appContainer.config.crowi.title; setSiteName(siteName); }, [appContainer]); const workspaceName = connectionStatuses[props.slackBotToken]?.workspaceName; return ( <>

{t('admin:slack_integration.custom_bot_without_proxy_integration')} {/* TODO: If Bot-manual section of docs is merged into master, show links and add an appropriate links by GW-5614. */} {/* */}

{t('admin:slack_integration.integration_procedure')}

{(workspaceName != null) ? `${workspaceName} Work Space` : 'Settings'}

); }; const CustomBotWithoutProxySettingsWrapper = withUnstatedContainers(CustomBotWithoutProxySettings, [AppContainer]); CustomBotWithoutProxySettings.propTypes = { appContainer: PropTypes.instanceOf(AppContainer).isRequired, slackSigningSecret: PropTypes.string, slackSigningSecretEnv: PropTypes.string, slackBotToken: PropTypes.string, slackBotTokenEnv: PropTypes.string, onUpdatedSecretToken: PropTypes.func.isRequired, onTestConnectionInvoked: PropTypes.func.isRequired, connectionStatuses: PropTypes.object.isRequired, }; export default CustomBotWithoutProxySettingsWrapper;