SmtpSetting.tsx 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import React from 'react';
  2. import { useTranslation } from 'next-i18next';
  3. import type { UseFormRegister } from 'react-hook-form';
  4. import AdminAppContainer from '~/client/services/AdminAppContainer';
  5. import { withUnstatedContainers } from '../../UnstatedUtils';
  6. type Props = {
  7. adminAppContainer?: AdminAppContainer;
  8. register: UseFormRegister<any>;
  9. };
  10. const SmtpSetting = (props: Props): JSX.Element => {
  11. const { t } = useTranslation();
  12. const { register } = props;
  13. return (
  14. <React.Fragment>
  15. <div id="mail-smtp" className="tab-pane active">
  16. <div className="row">
  17. <label
  18. className="text-start text-md-end col-md-3 col-form-label"
  19. htmlFor="admin-smtp-host"
  20. >
  21. {t('admin:app_setting.host')}
  22. </label>
  23. <div className="col-md-6">
  24. <input
  25. className="form-control"
  26. type="text"
  27. id="admin-smtp-host"
  28. {...register('smtpHost')}
  29. />
  30. </div>
  31. </div>
  32. <div className="row">
  33. <label
  34. className="text-start text-md-end col-md-3 col-form-label"
  35. htmlFor="admin-smtp-port"
  36. >
  37. {t('admin:app_setting.port')}
  38. </label>
  39. <div className="col-md-6">
  40. <input
  41. className="form-control"
  42. id="admin-smtp-port"
  43. {...register('smtpPort')}
  44. />
  45. </div>
  46. </div>
  47. <div className="row">
  48. <label
  49. className="text-start text-md-end col-md-3 col-form-label"
  50. htmlFor="admin-smtp-user"
  51. >
  52. {t('admin:app_setting.user')}
  53. </label>
  54. <div className="col-md-6">
  55. <input
  56. className="form-control"
  57. type="text"
  58. id="admin-smtp-user"
  59. {...register('smtpUser')}
  60. />
  61. </div>
  62. </div>
  63. <div className="row">
  64. <label
  65. className="text-start text-md-end col-md-3 col-form-label"
  66. htmlFor="admin-smtp-password"
  67. >
  68. {t('Password')}
  69. </label>
  70. <div className="col-md-6">
  71. <input
  72. className="form-control"
  73. type="password"
  74. id="admin-smtp-password"
  75. {...register('smtpPassword')}
  76. />
  77. </div>
  78. </div>
  79. </div>
  80. </React.Fragment>
  81. );
  82. };
  83. export { SmtpSetting };
  84. /**
  85. * Wrapper component for using unstated
  86. */
  87. const SmtpSettingWrapper = withUnstatedContainers(SmtpSetting, [
  88. AdminAppContainer,
  89. ]);
  90. export default SmtpSettingWrapper;