beta-badge.js 905 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { OverlayTrigger, Tooltip } from 'react-bootstrap'
  2. import PropTypes from 'prop-types'
  3. export default function BetaBadge({ tooltip, url = '/beta/participate' }) {
  4. return (
  5. <OverlayTrigger
  6. placement={tooltip.placement || 'bottom'}
  7. overlay={
  8. <Tooltip id={tooltip.id} className={tooltip.className}>
  9. {tooltip.text}
  10. </Tooltip>
  11. }
  12. delayHide={100}
  13. >
  14. <a
  15. href={url}
  16. target="_blank"
  17. rel="noopener noreferrer"
  18. className="badge beta-badge"
  19. >
  20. <span className="sr-only">{tooltip.text}</span>
  21. </a>
  22. </OverlayTrigger>
  23. )
  24. }
  25. BetaBadge.propTypes = {
  26. tooltip: PropTypes.shape({
  27. id: PropTypes.string.isRequired,
  28. text: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,
  29. placement: PropTypes.string,
  30. className: PropTypes.string,
  31. }),
  32. url: PropTypes.string,
  33. }