CustomBotWithoutProxyIntegrationCard.jsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import React from 'react';
  2. import { useTranslation } from 'react-i18next';
  3. import PropTypes from 'prop-types';
  4. const CustomBotWithoutProxyIntegrationCard = (props) => {
  5. const { t } = useTranslation();
  6. return (
  7. <div className="d-flex justify-content-center my-5 bot-integration">
  8. <div className="card rounded shadow border-0 w-50 admin-bot-card mb-0">
  9. <h5 className="card-title font-weight-bold mt-3 ml-4">Slack</h5>
  10. <div className="card-body p-2 w-50 mx-auto">
  11. {props.slackWSNameInWithoutProxy != null && (
  12. <div className="card slack-work-space-name-card">
  13. <div className="m-2 text-center">
  14. <h5 className="font-weight-bold">{props.slackWSNameInWithoutProxy}</h5>
  15. <img width={20} height={20} src="/images/slack-integration/growi-bot-kun-icon.png" />
  16. </div>
  17. </div>
  18. )}
  19. </div>
  20. </div>
  21. <div className="text-center w-25">
  22. {props.isSetupSlackBot && (
  23. <div className="mt-5">
  24. <p className="text-success">
  25. <small>
  26. <i className="fa fa-check mr-1" />
  27. {t('admin:slack_integration.integration_sentence.integration_successful')}
  28. </small>
  29. </p>
  30. <hr className="align-self-center admin-border-success border-success"></hr>
  31. </div>
  32. )}
  33. {!props.isSetupSlackBot && (
  34. <div className="mt-4">
  35. <small
  36. className="text-secondary m-0"
  37. // eslint-disable-next-line react/no-danger
  38. dangerouslySetInnerHTML={{ __html: t('admin:slack_integration.integration_sentence.integration_is_not_complete') }}
  39. />
  40. <hr className="align-self-center admin-border-danger border-danger"></hr>
  41. </div>
  42. )}
  43. </div>
  44. <div className="card rounded-lg shadow border-0 w-50 admin-bot-card mb-0">
  45. <h5 className="card-title font-weight-bold mt-3 ml-4">GROWI App</h5>
  46. <div className="card-body p-4 mb-5 text-center">
  47. <div className="btn btn-primary">{props.siteName}</div>
  48. </div>
  49. </div>
  50. </div>
  51. );
  52. };
  53. CustomBotWithoutProxyIntegrationCard.propTypes = {
  54. siteName: PropTypes.string.isRequired,
  55. slackWSNameInWithoutProxy: PropTypes.string,
  56. isSetupSlackBot: PropTypes.bool.isRequired,
  57. };
  58. export default CustomBotWithoutProxyIntegrationCard;