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, onSetIsSendTestMessage } = props; const { t } = useTranslation(); const [siteName, setSiteName] = useState(''); const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false); const [isIntegrationSuccess, setIsIntegrationSuccess] = useState(false); const [connectionMessage, setConnectionMessage] = useState(null); const [connectionErrorCode, setConnectionErrorCode] = useState(null); const [testChannel, setTestChannel] = useState(''); const resetSettings = async() => { if (onResetSettings == null) { return; } onResetSettings(); }; const testConnection = async() => { setConnectionErrorCode(null); setConnectionMessage(null); try { await appContainer.apiv3.post('/slack-integration-settings/without-proxy/test', { channel: testChannel }); setConnectionMessage('Send the message to slack ws.'); onSetIsSendTestMessage(true); setIsIntegrationSuccess(true); } catch (err) { setConnectionErrorCode(err[0].code); setConnectionMessage(err[0].message); onSetIsSendTestMessage(false); setIsIntegrationSuccess(false); } }; const inputTestChannelHandler = (channel) => { setTestChannel(channel); }; useEffect(() => { const siteName = appContainer.config.crowi.title; setSiteName(siteName); }, [appContainer]); return ( <>