import React, { useState } 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 CustomBotWithProxyIntegrationCard from './CustomBotWithProxyIntegrationCard'; import CustomBotWithProxySettingsAccordion from './CustomBotWithProxySettingsAccordion'; import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal'; const CustomBotWithProxySettings = (props) => { // eslint-disable-next-line no-unused-vars const { appContainer, adminAppContainer } = props; const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false); const { t } = useTranslation(); // TODO: Multiple accordion logic const [accordionComponentsCount, setAccordionComponentsCount] = useState(0); const addAccordionHandler = () => { setAccordionComponentsCount( prevState => prevState + 1, ); }; // TODO: Delete accordion logic const deleteAccordionHandler = () => { setAccordionComponentsCount( prevState => prevState - 1, ); }; const deleteSlackSettingsHandler = async() => { try { // TODO imple delete PtoG and GtoP Token at GW 5861 await appContainer.apiv3.put('/slack-integration-settings/custom-bot-with-proxy', { }); deleteAccordionHandler(); toastSuccess('success'); } catch (err) { toastError(err); } }; return ( <>

{t('admin:slack_integration.custom_bot_with_proxy_integration')}

{/* TODO delete tmp props */}

{t('admin:slack_integration.cooperation_procedure')}

{/* // TODO: Multiple accordion logic */} {Array(...Array(accordionComponentsCount)).map(i => ( <>
))} {/* TODO: Disable button when integration is incomplete */} {/* TODO: i18n */}
setIsDeleteConfirmModalShown(false)} onClickDeleteButton={deleteSlackSettingsHandler} /> ); }; const CustomBotWithProxySettingsWrapper = withUnstatedContainers(CustomBotWithProxySettings, [AppContainer, AdminAppContainer]); CustomBotWithProxySettings.propTypes = { appContainer: PropTypes.instanceOf(AppContainer).isRequired, adminAppContainer: PropTypes.instanceOf(AdminAppContainer).isRequired, }; export default CustomBotWithProxySettingsWrapper;