import React, { Suspense } from 'react';
import PropTypes from 'prop-types';
import loggerFactory from '@alias/logger';
import { withUnstatedContainers } from '../../UnstatedUtils';
import { toastError } from '../../../util/apiNotification';
import AdminNotificationContainer from '../../../services/AdminNotificationContainer';
import NotificationSettingPageContents from './NotificationSettingPageContents';
const logger = loggerFactory('growi:NotificationSetting');
function NotificationSetting(props) {
if (props.adminNotificationContainer.state.selectSlackOption === 0) {
throw new Promise(async() => {
try {
await props.adminNotificationContainer.retrieveNotificationData();
}
catch (err) {
toastError(err);
props.adminNotificationContainer.setState({ retrieveError: err });
logger.error(err);
}
});
}
return ;
}
const NotificationSettingWrapper = withUnstatedContainers(NotificationSetting, [AdminNotificationContainer]);
NotificationSetting.propTypes = {
t: PropTypes.func.isRequired, // i18next
adminNotificationContainer: PropTypes.instanceOf(AdminNotificationContainer).isRequired,
};
function NotificationSettingSuspenseWrapper(props) {
return (
)}
>
);
}
export default NotificationSettingSuspenseWrapper;