SmtpSetting.tsx 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import React from 'react';
  2. import { useTranslation } from 'react-i18next';
  3. import AdminAppContainer from '~/client/services/AdminAppContainer';
  4. import { withLoadingSppiner } from '../../SuspenseUtils';
  5. import { withUnstatedContainers } from '../../UnstatedUtils';
  6. type Props = {
  7. adminAppContainer: AdminAppContainer,
  8. }
  9. const SmtpSetting = (props: Props) => {
  10. const { t } = useTranslation();
  11. const { adminAppContainer } = props;
  12. return (
  13. <React.Fragment>
  14. <div id="mail-smtp" className="tab-pane active mt-5">
  15. <div className="row form-group">
  16. <label className="text-left text-md-right col-md-3 col-form-label">
  17. {t('admin:app_setting.host')}
  18. </label>
  19. <div className="col-md-6">
  20. <input
  21. className="form-control"
  22. type="text"
  23. defaultValue={adminAppContainer.state.smtpHost || ''}
  24. onChange={(e) => { adminAppContainer.changeSmtpHost(e.target.value) }}
  25. />
  26. </div>
  27. </div>
  28. <div className="row form-group">
  29. <label className="text-left text-md-right col-md-3 col-form-label">
  30. {t('admin:app_setting.port')}
  31. </label>
  32. <div className="col-md-6">
  33. <input
  34. className="form-control"
  35. defaultValue={adminAppContainer.state.smtpPort || ''}
  36. onChange={(e) => { adminAppContainer.changeSmtpPort(e.target.value) }}
  37. />
  38. </div>
  39. </div>
  40. <div className="row form-group">
  41. <label className="text-left text-md-right col-md-3 col-form-label">
  42. {t('admin:app_setting.user')}
  43. </label>
  44. <div className="col-md-6">
  45. <input
  46. className="form-control"
  47. type="text"
  48. defaultValue={adminAppContainer.state.smtpUser || ''}
  49. onChange={(e) => { adminAppContainer.changeSmtpUser(e.target.value) }}
  50. />
  51. </div>
  52. </div>
  53. <div className="row form-group">
  54. <label className="text-left text-md-right col-md-3 col-form-label">
  55. {t('Password')}
  56. </label>
  57. <div className="col-md-6">
  58. <input
  59. className="form-control"
  60. type="password"
  61. defaultValue={adminAppContainer.state.smtpPassword || ''}
  62. onChange={(e) => { adminAppContainer.changeSmtpPassword(e.target.value) }}
  63. />
  64. </div>
  65. </div>
  66. </div>
  67. </React.Fragment>
  68. );
  69. };
  70. /**
  71. * Wrapper component for using unstated
  72. */
  73. const SmtpSettingWrapper = withUnstatedContainers(withLoadingSppiner(SmtpSetting), [AdminAppContainer]);
  74. export default SmtpSettingWrapper;