| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import Tooltip from './tooltip'
- import { OverlayTriggerProps } from 'react-bootstrap'
- type TooltipProps = {
- id: string
- text: React.ReactNode
- placement?: OverlayTriggerProps['placement']
- className?: string
- }
- type BetaBadgeProps = {
- tooltip: TooltipProps
- url?: string
- phase?: string
- }
- function BetaBadge({
- tooltip,
- url = '/beta/participate',
- phase = 'beta',
- }: BetaBadgeProps) {
- let badgeClass
- switch (phase) {
- case 'release':
- badgeClass = 'info-badge'
- break
- case 'alpha':
- badgeClass = 'alpha-badge'
- break
- case 'beta':
- default:
- badgeClass = 'beta-badge'
- }
- return (
- <Tooltip
- id={tooltip.id}
- description={tooltip.text}
- tooltipProps={{ className: tooltip.className }}
- overlayProps={{
- placement: tooltip.placement || 'bottom',
- delayHide: 100,
- }}
- >
- <a
- href={url}
- target="_blank"
- rel="noopener noreferrer"
- className={`badge ${badgeClass}`}
- >
- <span className="sr-only">{tooltip.text}</span>
- </a>
- </Tooltip>
- )
- }
- export default BetaBadge
|