DataTransferForm.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import React, { useState } from 'react';
  2. import { useTranslation } from 'react-i18next';
  3. import CustomCopyToClipBoard from './Common/CustomCopyToClipBoard';
  4. const DataTransferForm = (): JSX.Element => {
  5. const { t } = useTranslation();
  6. const [transferKey, setTransferKey] = useState('');
  7. const publishTransferKey = () => {
  8. // 移行キー発行の処理
  9. setTransferKey('transferKey');
  10. };
  11. return (
  12. <div data-testid="installerForm" className="p-3">
  13. <p className="alert alert-success">
  14. <strong>{ t('g2g_data_transfer.transfer_data_to_this_growi')}</strong>
  15. </p>
  16. <div className="form-group row mt-3">
  17. <div className="col-md-12">
  18. <button type="button" className="btn btn-primary w-100" onClick={publishTransferKey}>{t('g2g_data_transfer.publish_transfer_key')}</button>
  19. </div>
  20. <div className="col-md-12 mt-1">
  21. <div className="input-group-prepend">
  22. <input className="form-control" type="text" value={transferKey} readOnly />
  23. <CustomCopyToClipBoard textToBeCopied={transferKey} message="copied_to_clipboard" />
  24. </div>
  25. </div>
  26. </div>
  27. <div className="alert alert-warning mt-4">
  28. <p className="mb-1">{t('g2g_data_transfer.transfer_key_limit')}</p>
  29. <p className="mb-1">{t('g2g_data_transfer.once_transfer_key_used')}</p>
  30. <p className="mb-0">{t('g2g_data_transfer.transfer_to_growi_cloud')}</p>
  31. </div>
  32. </div>
  33. );
  34. };
  35. export default DataTransferForm;