Customize.jsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import React, { Fragment } from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import AppContainer from '../../../services/AppContainer';
  5. import { createSubscribedElement } from '../../UnstatedUtils';
  6. import CustomizeLayoutSetting from './CustomizeLayoutSetting';
  7. import CustomizeBehaviorSetting from './CustomizeBehaviorSetting';
  8. import CustomizeFunctionSetting from './CustomizeFunctionSetting';
  9. import CustomizeCssSetting from './CustomizeCssSetting';
  10. class Customize extends React.Component {
  11. render() {
  12. const { t } = this.props;
  13. return (
  14. <Fragment>
  15. <div className="my-3">
  16. <CustomizeLayoutSetting />
  17. </div>
  18. <div className="my-3">
  19. <CustomizeBehaviorSetting />
  20. </div>
  21. <div className="my-3">
  22. <CustomizeFunctionSetting />
  23. </div>
  24. <legend>{t('customize_page.Code Highlight')}</legend>
  25. {/* コードハイライトフォームの react componentをここで呼ぶ(GW-277) */}
  26. <legend>{t('customize_page.custom_title')}</legend>
  27. {/* カスタムタイトルフォームの react componentをここで呼ぶ(GW-278) */}
  28. <div className="my-3">
  29. <CustomizeCssSetting />
  30. </div>
  31. <legend>{t('customize_page.Custom script')}</legend>
  32. {/* カスタムスクリプトフォームの react componentをここで呼ぶ(GW-280) */}
  33. </Fragment>
  34. );
  35. }
  36. }
  37. const CustomizeWrapper = (props) => {
  38. return createSubscribedElement(Customize, props, [AppContainer]);
  39. };
  40. Customize.propTypes = {
  41. t: PropTypes.func.isRequired, // i18next
  42. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  43. };
  44. export default withTranslation()(CustomizeWrapper);