import React, { useState, useEffect, useCallback } 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 { toastError } from '../../../util/apiNotification'; import CustomBotWithoutProxySettingsAccordion, { botInstallationStep } from './CustomBotWithoutProxySettingsAccordion'; import CustomBotWithoutProxyIntegrationCard from './CustomBotWithoutProxyIntegrationCard'; const CustomBotWithoutProxySettings = (props) => { const { appContainer } = props; const { t } = useTranslation(); const [slackWSNameInWithoutProxy, setSlackWSNameInWithoutProxy] = useState(null); const [siteName, setSiteName] = useState(''); const fetchSlackWorkSpaceName = useCallback(async() => { try { const res = await appContainer.apiv3.get('/slack-integration/custom-bot-without-proxy/slack-workspace-name'); setSlackWSNameInWithoutProxy(res.data.slackWorkSpaceName); } catch (err) { toastError(err); } }, [appContainer.apiv3]); useEffect(() => { const siteName = appContainer.config.crowi.title; setSiteName(siteName); if (props.isSetupSlackBot) { fetchSlackWorkSpaceName(); } }, [appContainer, fetchSlackWorkSpaceName, props.isSetupSlackBot]); return ( <>