|
|
@@ -17,62 +17,60 @@ import CustomizeScriptSetting from './CustomizeScriptSetting';
|
|
|
import CustomizeHeaderSetting from './CustomizeHeaderSetting';
|
|
|
import CustomizeTitle from './CustomizeTitle';
|
|
|
|
|
|
-class Customize extends React.Component {
|
|
|
-
|
|
|
- constructor(props) {
|
|
|
- super(props);
|
|
|
-
|
|
|
- this.state = {
|
|
|
- isRetrieving: true,
|
|
|
- };
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- async componentDidMount() {
|
|
|
- const { adminCustomizeContainer } = this.props;
|
|
|
-
|
|
|
- try {
|
|
|
- await adminCustomizeContainer.retrieveCustomizeData();
|
|
|
- this.setState({ isRetrieving: false });
|
|
|
- }
|
|
|
- catch (err) {
|
|
|
- toastError(err);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- render() {
|
|
|
- if (this.state.isRetrieving) {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- return (
|
|
|
- <Fragment>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeLayoutSetting />
|
|
|
- </div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeFunctionSetting />
|
|
|
- </div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeHighlightSetting />
|
|
|
- </div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeTitle />
|
|
|
- </div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeHeaderSetting />
|
|
|
+function Customize(props) {
|
|
|
+ return (
|
|
|
+ <Suspense
|
|
|
+ fallback={(
|
|
|
+ <div className="row">
|
|
|
+ <i className="fa fa-5x fa-spinner fa-pulse mx-auto text-muted"></i>
|
|
|
</div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeCssSetting />
|
|
|
- </div>
|
|
|
- <div className="mb-5">
|
|
|
- <CustomizeScriptSetting />
|
|
|
- </div>
|
|
|
- </Fragment>
|
|
|
- );
|
|
|
+ )}
|
|
|
+ >
|
|
|
+ <RenderCustomizePage />
|
|
|
+ </Suspense>
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
+function RenderCustomizePage(props) {
|
|
|
+ if (props.adminCustomizeContainer.state.currentTheme === props.adminAppContainer.dummyCurrentTheme) {
|
|
|
+ throw new Promise(async () => {
|
|
|
+ try {
|
|
|
+ await adminCustomizeContainer.retrieveCustomizeData();
|
|
|
+ this.setState({ isRetrieving: false });
|
|
|
+ }
|
|
|
+ catch (err) {
|
|
|
+ toastError(err);
|
|
|
+ props.adminAppContainer.setState({ retrieveError: err.message });
|
|
|
+ logger.error(err);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+ return (
|
|
|
+ <Fragment>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeLayoutSetting />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeFunctionSetting />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeHighlightSetting />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeTitle />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeHeaderSetting />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeCssSetting />
|
|
|
+ </div>
|
|
|
+ <div className="mb-5">
|
|
|
+ <CustomizeScriptSetting />
|
|
|
+ </div>
|
|
|
+ </Fragment>
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
const CustomizeWrapper = withUnstatedContainers(Customize, [AppContainer, AdminCustomizeContainer]);
|