import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'react-i18next'; import { withUnstatedContainers } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; import { toastSuccess, toastError } from '../../../util/apiNotification'; import AdminUpdateButtonRow from '../Common/AdminUpdateButtonRow'; const CustomBotNonProxySettings = (props) => { const { appContainer } = props; const { t } = useTranslation(); const [slackSigningSecret, setSlackSigningSecret] = useState(''); const [slackBotToken, setSlackBotToken] = useState(''); const botType = 'non-proxy'; useEffect(() => { async function fetchData() { try { const res = await appContainer.apiv3.get('/slack-integration/'); const { slackSigningSecret, slackBotToken } = res.data.slackBotSettingParams.customBotNonProxySettings; setSlackSigningSecret(slackSigningSecret); setSlackBotToken(slackBotToken); } catch (err) { toastError(err); } } fetchData(); }, [appContainer.apiv3]); async function updateHandler() { try { await appContainer.apiv3.put('/slack-integration/custom-bot-non-proxy', { slackSigningSecret, slackBotToken, botType, }); toastSuccess(t('toaster.update_successed', { target: t('admin:slack_integration.custom_bot_non_proxy_settings') })); } catch (err) { toastError(err); } } return ( <>