beta-badge.tsx 849 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Tooltip from './tooltip'
  2. import { OverlayTriggerProps } from 'react-bootstrap'
  3. type TooltipProps = {
  4. id: string
  5. text: React.ReactNode
  6. placement?: OverlayTriggerProps['placement']
  7. className?: string
  8. }
  9. type BetaBadgeProps = {
  10. tooltip: TooltipProps
  11. url?: string
  12. }
  13. function BetaBadge({ tooltip, url = '/beta/participate' }: BetaBadgeProps) {
  14. return (
  15. <Tooltip
  16. id={tooltip.id}
  17. description={tooltip.text}
  18. tooltipProps={{ className: tooltip.className }}
  19. overlayProps={{
  20. placement: tooltip.placement || 'bottom',
  21. delayHide: 100,
  22. }}
  23. >
  24. <a
  25. href={url}
  26. target="_blank"
  27. rel="noopener noreferrer"
  28. className="badge beta-badge"
  29. >
  30. <span className="sr-only">{tooltip.text}</span>
  31. </a>
  32. </Tooltip>
  33. )
  34. }
  35. export default BetaBadge