SmtpSetting.tsx 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  9. register: UseFormRegister<any>,
  10. }
  11. const SmtpSetting = (props: Props): JSX.Element => {
  12. const { t } = useTranslation();
  13. const { register } = props;
  14. return (
  15. <React.Fragment>
  16. <div id="mail-smtp" className="tab-pane active">
  17. <div className="row">
  18. <label className="text-start text-md-end col-md-3 col-form-label">
  19. {t('admin:app_setting.host')}
  20. </label>
  21. <div className="col-md-6">
  22. <input
  23. className="form-control"
  24. type="text"
  25. {...register('smtpHost')}
  26. />
  27. </div>
  28. </div>
  29. <div className="row">
  30. <label className="text-start text-md-end col-md-3 col-form-label">
  31. {t('admin:app_setting.port')}
  32. </label>
  33. <div className="col-md-6">
  34. <input
  35. className="form-control"
  36. {...register('smtpPort')}
  37. />
  38. </div>
  39. </div>
  40. <div className="row">
  41. <label className="text-start text-md-end 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. {...register('smtpUser')}
  49. />
  50. </div>
  51. </div>
  52. <div className="row">
  53. <label className="text-start text-md-end col-md-3 col-form-label">
  54. {t('Password')}
  55. </label>
  56. <div className="col-md-6">
  57. <input
  58. className="form-control"
  59. type="password"
  60. {...register('smtpPassword')}
  61. />
  62. </div>
  63. </div>
  64. </div>
  65. </React.Fragment>
  66. );
  67. };
  68. export { SmtpSetting };
  69. /**
  70. * Wrapper component for using unstated
  71. */
  72. const SmtpSettingWrapper = withUnstatedContainers(SmtpSetting, [AdminAppContainer]);
  73. export default SmtpSettingWrapper;