import React, { Fragment, Suspense } from 'react';
import PropTypes from 'prop-types';
import loggerFactory from '@alias/logger';
import AdminCustomizeContainer from '../../../services/AdminCustomizeContainer';
import { withUnstatedContainers } from '../../UnstatedUtils';
import { toastError } from '../../../util/apiNotification';
import CustomizeLayoutSetting from './CustomizeLayoutSetting';
import CustomizeFunctionSetting from './CustomizeFunctionSetting';
import CustomizeHighlightSetting from './CustomizeHighlightSetting';
import CustomizeCssSetting from './CustomizeCssSetting';
import CustomizeScriptSetting from './CustomizeScriptSetting';
import CustomizeHeaderSetting from './CustomizeHeaderSetting';
import CustomizeTitle from './CustomizeTitle';
const logger = loggerFactory('growi:services:AdminCustomizePage');
function CustomizePageWithContainerWithSusupense(props) {
return (
)}
>
);
}
function Customize(props) {
const { adminCustomizeContainer } = props;
if (adminCustomizeContainer.state.currentTheme === adminCustomizeContainer.dummyCurrentTheme) {
throw (async() => {
try {
await adminCustomizeContainer.retrieveCustomizeData();
}
catch (err) {
toastError(err);
adminCustomizeContainer.setState({ currentTheme: adminCustomizeContainer.dummyCurrentThemeForError, retrieveError: err[0].message });
logger.error(err);
}
})();
}
if (adminCustomizeContainer.state.currentTheme === adminCustomizeContainer.dummyCurrentThemeForError) {
throw new Error(adminCustomizeContainer.state.retrieveError);
}
return (
);
}
const CustomizePageWithUnstatedContainer = withUnstatedContainers(Customize, [AdminCustomizeContainer]);
Customize.propTypes = {
adminCustomizeContainer: PropTypes.instanceOf(AdminCustomizeContainer).isRequired,
};
export default CustomizePageWithContainerWithSusupense;