CustomBotWithProxyIntegrationCard.jsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import Bridge from './Bridge';
  4. const CustomBotWithProxyIntegrationCard = (props) => {
  5. const { workspaceNames } = props;
  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">
  9. <h5 className="card-title font-weight-bold mt-3 ml-4">Slack</h5>
  10. <div className="card-body px-5">
  11. {props.slackWorkSpaces.map((slackWorkSpaceName) => {
  12. return (
  13. <div key={slackWorkSpaceName.name} className={slackWorkSpaceName.active ? 'card slack-work-space-name-card' : ''}>
  14. <div className="m-2 text-center">
  15. <h5 className="font-weight-bold">{slackWorkSpaceName.name}</h5>
  16. <img width={20} height={20} src="/images/slack-integration/growi-bot-kun-icon.png" />
  17. </div>
  18. </div>
  19. );
  20. })}
  21. </div>
  22. </div>
  23. <div className="text-center w-25 mt-3">
  24. <Bridge workspaceNames={workspaceNames} withProxy />
  25. </div>
  26. <div className="card rounded-lg shadow border-0 w-50 admin-bot-card">
  27. <div className="row">
  28. <h5 className="card-title font-weight-bold mt-3 ml-4 col">GROWI App</h5>
  29. <div className="pull-right mt-3 mr-3">
  30. <a className="icon-fw fa fa-repeat fa-2x"></a>
  31. </div>
  32. </div>
  33. <div className="card-body text-center">
  34. <div className="mt-5 border p-2 mx-3 bg-primary text-light">
  35. {props.siteName}
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. );
  41. };
  42. CustomBotWithProxyIntegrationCard.propTypes = {
  43. siteName: PropTypes.string.isRequired,
  44. slackWorkSpaces: PropTypes.array,
  45. isSlackScopeSet: PropTypes.bool,
  46. workspaceNames: PropTypes.array.isRequired,
  47. };
  48. export default CustomBotWithProxyIntegrationCard;