import React, { useState, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import PropTypes from 'prop-types';
import AppContainer from '~/client/services/AppContainer';
import { withUnstatedContainers } from '../../UnstatedUtils';
import CustomBotWithoutProxySettingsAccordion, { botInstallationStep } from './CustomBotWithoutProxySettingsAccordion';
import CustomBotWithoutProxyConnectionStatus from './CustomBotWithoutProxyConnectionStatus';
const CustomBotWithoutProxySettings = (props) => {
const { appContainer, connectionStatuses } = props;
const { t } = useTranslation();
const [siteName, setSiteName] = useState('');
useEffect(() => {
const siteName = appContainer.config.crowi.title;
setSiteName(siteName);
}, [appContainer]);
const workspaceName = connectionStatuses[props.slackBotToken]?.workspaceName;
return (
<>
{t('admin:slack_integration.custom_bot_without_proxy_integration')}
{t('admin:slack_integration.integration_procedure')}
{(workspaceName != null) ? `${workspaceName} Work Space` : 'Settings'}
>
);
};
const CustomBotWithoutProxySettingsWrapper = withUnstatedContainers(CustomBotWithoutProxySettings, [AppContainer]);
CustomBotWithoutProxySettings.propTypes = {
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
slackSigningSecret: PropTypes.string,
slackSigningSecretEnv: PropTypes.string,
slackBotToken: PropTypes.string,
slackBotTokenEnv: PropTypes.string,
onUpdatedSecretToken: PropTypes.func.isRequired,
onTestConnectionInvoked: PropTypes.func.isRequired,
connectionStatuses: PropTypes.object.isRequired,
commandPermission: PropTypes.object,
eventActionsPermission: PropTypes.object,
};
export default CustomBotWithoutProxySettingsWrapper;