import React, { useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import PropTypes from 'prop-types'; import AppContainer from '../../../services/AppContainer'; import AdminAppContainer from '../../../services/AdminAppContainer'; import { withUnstatedContainers } from '../../UnstatedUtils'; import CustomBotWithoutProxySettingsAccordion, { botInstallationStep } from './CustomBotWithoutProxySettingsAccordion'; import CustomBotWithoutProxyIntegrationCard from './CustomBotWithoutProxyIntegrationCard'; import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal'; const CustomBotWithoutProxySettings = (props) => { const { appContainer, onResetSettings, isIntegrationSuccess } = props; const { t } = useTranslation(); const [siteName, setSiteName] = useState(''); const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false); const resetSettings = async() => { if (onResetSettings == null) { return; } onResetSettings(); }; useEffect(() => { const siteName = appContainer.config.crowi.title; setSiteName(siteName); }, [appContainer]); return ( <>

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

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

{(props.slackSigningSecret || props.slackBotToken) && ( )}
setIsDeleteConfirmModalShown(false)} onClickDeleteButton={resetSettings} /> ); }; const CustomBotWithoutProxySettingsWrapper = withUnstatedContainers(CustomBotWithoutProxySettings, [AppContainer, AdminAppContainer]); CustomBotWithoutProxySettings.propTypes = { appContainer: PropTypes.instanceOf(AppContainer).isRequired, adminAppContainer: PropTypes.instanceOf(AdminAppContainer).isRequired, slackSigningSecret: PropTypes.string, slackSigningSecretEnv: PropTypes.string, slackBotToken: PropTypes.string, slackBotTokenEnv: PropTypes.string, isRgisterSlackCredentials: PropTypes.bool, isIntegrationSuccess: PropTypes.bool, slackWSNameInWithoutProxy: PropTypes.string, onResetSettings: PropTypes.func, }; export default CustomBotWithoutProxySettingsWrapper;