AppSettingsPageContents.jsx 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import React, { Fragment } from 'react';
  2. import { withTranslation } from 'react-i18next';
  3. import PropTypes from 'prop-types';
  4. import AppSetting from './AppSetting';
  5. import SiteUrlSetting from './SiteUrlSetting';
  6. import MailSetting from './MailSetting';
  7. import PluginSetting from './PluginSetting';
  8. import FileUploadSetting from './FileUploadSetting';
  9. class AppSettingsPageContents extends React.Component {
  10. render() {
  11. const { t } = this.props;
  12. return (
  13. <Fragment>
  14. <div className="row">
  15. <div className="col-lg-12">
  16. <h2 className="admin-setting-header">{t('App Settings')}</h2>
  17. <AppSetting />
  18. </div>
  19. </div>
  20. <div className="row mt-5">
  21. <div className="col-lg-12">
  22. <h2 className="admin-setting-header">{t('Site URL settings')}</h2>
  23. <SiteUrlSetting />
  24. </div>
  25. </div>
  26. <div className="row mt-5">
  27. <div className="col-lg-12">
  28. <h2 className="admin-setting-header" id="mail-settings">{t('admin:app_setting.mail_settings')}</h2>
  29. <MailSetting />
  30. </div>
  31. </div>
  32. <div className="row mt-5">
  33. <div className="col-lg-12">
  34. <h2 className="admin-setting-header">{t('admin:app_setting.file_upload_settings')}</h2>
  35. <FileUploadSetting />
  36. </div>
  37. </div>
  38. <div className="row mt-5">
  39. <div className="col-lg-12">
  40. <h2 className="admin-setting-header">{t('admin:app_setting.plugin_settings')}</h2>
  41. <PluginSetting />
  42. </div>
  43. </div>
  44. </Fragment>
  45. );
  46. }
  47. }
  48. AppSettingsPageContents.propTypes = {
  49. t: PropTypes.func.isRequired, // i18next
  50. };
  51. export default withTranslation()(AppSettingsPageContents);