Customize.jsx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import AdminCustomizeContainer from '~/client/services/AdminCustomizeContainer';
  4. import { toastError } from '~/client/util/apiNotification';
  5. import { toArrayIfNot } from '~/utils/array-utils';
  6. import loggerFactory from '~/utils/logger';
  7. import { withUnstatedContainers } from '../../UnstatedUtils';
  8. import CustomizeCssSetting from './CustomizeCssSetting';
  9. import CustomizeFunctionSetting from './CustomizeFunctionSetting';
  10. import CustomizeHeaderSetting from './CustomizeHeaderSetting';
  11. import CustomizeHighlightSetting from './CustomizeHighlightSetting';
  12. import CustomizeLayoutSetting from './CustomizeLayoutSetting';
  13. import CustomizeScriptSetting from './CustomizeScriptSetting';
  14. import CustomizeSidebarSetting from './CustomizeSidebarSetting';
  15. import CustomizeThemeSetting from './CustomizeThemeSetting';
  16. import CustomizeTitle from './CustomizeTitle';
  17. const logger = loggerFactory('growi:services:AdminCustomizePage');
  18. const retrieveErrors = null;
  19. function Customize(props) {
  20. const { adminCustomizeContainer } = props;
  21. // if (adminCustomizeContainer.state.currentTheme === adminCustomizeContainer.dummyCurrentTheme) {
  22. // throw (async() => {
  23. // try {
  24. // await adminCustomizeContainer.retrieveCustomizeData();
  25. // }
  26. // catch (err) {
  27. // const errs = toArrayIfNot(err);
  28. // toastError(errs);
  29. // logger.error(errs);
  30. // retrieveErrors = errs;
  31. // adminCustomizeContainer.setState({ currentTheme: adminCustomizeContainer.dummyCurrentThemeForError });
  32. // }
  33. // })();
  34. // }
  35. // if (adminCustomizeContainer.state.currentTheme === adminCustomizeContainer.dummyCurrentThemeForError) {
  36. // throw new Error(`${retrieveErrors.length} errors occured`);
  37. // }
  38. return (
  39. <div data-testid="admin-customize">
  40. <div className="mb-5">
  41. <CustomizeLayoutSetting />
  42. </div>
  43. <div className="mb-5">
  44. <CustomizeThemeSetting />
  45. </div>
  46. <div className="mb-5">
  47. <CustomizeSidebarSetting />
  48. </div>
  49. <div className="mb-5">
  50. <CustomizeFunctionSetting />
  51. </div>
  52. <div className="mb-5">
  53. <CustomizeHighlightSetting />
  54. </div>
  55. <div className="mb-5">
  56. <CustomizeTitle />
  57. </div>
  58. <div className="mb-5">
  59. {/* <CustomizeHeaderSetting /> */}
  60. </div>
  61. <div className="mb-5">
  62. {/* <CustomizeCssSetting /> */}
  63. </div>
  64. <div className="mb-5">
  65. {/* <CustomizeScriptSetting /> */}
  66. </div>
  67. </div>
  68. );
  69. }
  70. const CustomizePageWithUnstatedContainer = withUnstatedContainers(Customize, [AdminCustomizeContainer]);
  71. Customize.propTypes = {
  72. adminCustomizeContainer: PropTypes.instanceOf(AdminCustomizeContainer).isRequired,
  73. };
  74. export default Customize;