/* eslint-disable react/no-danger */ import React, { Suspense } from 'react'; import PropTypes from 'prop-types'; import { withUnstatedContainers } from '../../UnstatedUtils'; import { toastError } from '../../../util/apiNotification'; import toArrayIfNot from '../../../../../lib/util/toArrayIfNot'; import AdminTwitterSecurityContainer from '../../../services/AdminTwitterSecurityContainer'; import TwitterSecuritySettingContents from './TwitterSecuritySettingContents'; let retrieveErrors = null; function TwitterSecurityManagement(props) { const { adminTwitterSecurityContainer } = props; if (adminTwitterSecurityContainer.state.twitterConsumerKey === adminTwitterSecurityContainer.dummyTwitterConsumerKey) { throw (async() => { try { await adminTwitterSecurityContainer.retrieveSecurityData(); } catch (err) { const errs = toArrayIfNot(err); toastError(errs); retrieveErrors = errs; adminTwitterSecurityContainer.setState({ twitterConsumerKey: adminTwitterSecurityContainer.dummyTwitterConsumerKeyForError, }); } })(); } if (adminTwitterSecurityContainer.state.twitterConsumerKey === adminTwitterSecurityContainer.dummyTwitterConsumerKeyForError) { throw new Error(`${retrieveErrors.length} errors occured`); } return ; } TwitterSecurityManagement.propTypes = { adminTwitterSecurityContainer: PropTypes.instanceOf(AdminTwitterSecurityContainer).isRequired, }; const TwitterSecurityManagementWithUnstatedContainer = withUnstatedContainers(TwitterSecurityManagement, [ AdminTwitterSecurityContainer, ]); function TwitterSecurityManagementWithContainerWithSuspense(props) { return ( )} > ); } export default TwitterSecurityManagementWithContainerWithSuspense;