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 { toastSuccess, toastError } from '../../../util/apiNotification'; import CustomBotWithoutProxySettingsAccordion, { botInstallationStep } from './CustomBotWithoutProxySettingsAccordion'; import CustomBotWithoutProxyIntegrationCard from './CustomBotWithoutProxyIntegrationCard'; import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal'; const CustomBotWithoutProxySettings = (props) => { const { appContainer, isSlackScopeSet, isSetupSlackBot } = props; const { t } = useTranslation(); const [siteName, setSiteName] = useState(''); const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false); const fetchSlackIntegrationData = () => { if (props.fetchSlackIntegrationData != null) { props.fetchSlackIntegrationData(); } }; const onSetIsSetupSlackBot = () => { if (props.onSetIsSetupSlackBot != null) { props.onSetIsSetupSlackBot(); } }; const deleteSlackCredentialsHandler = async() => { try { await appContainer.apiv3.put('/slack-integration/custom-bot-without-proxy', { slackSigningSecret: '', slackBotToken: '', currentBotType: '', }); onSetIsSetupSlackBot(false); fetchSlackIntegrationData(); toastSuccess('success'); } catch (err) { toastError(err); } }; useEffect(() => { const siteName = appContainer.config.crowi.title; setSiteName(siteName); }, [appContainer]); return ( <>