beta-badge-icon.tsx 885 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import type { FC } from 'react'
  2. import MaterialIcon from '@/shared/components/material-icon'
  3. import OLBadge from '@/shared/components/ol/ol-badge'
  4. const BetaBadgeIcon: FC<{
  5. phase?: string
  6. }> = ({ phase = 'beta' }) => {
  7. const badgeClass = chooseBadgeClass(phase)
  8. if (badgeClass === 'info-badge') {
  9. return <MaterialIcon type="info" className="align-middle info-badge" />
  10. } else if (badgeClass === 'alpha-badge') {
  11. return (
  12. <OLBadge bg="primary" className="alpha-badge">
  13. α
  14. </OLBadge>
  15. )
  16. } else {
  17. return (
  18. <OLBadge className="beta-badge" bg="beta">
  19. β
  20. </OLBadge>
  21. )
  22. }
  23. }
  24. function chooseBadgeClass(phase?: string) {
  25. switch (phase) {
  26. case 'release':
  27. return 'info-badge'
  28. case 'alpha':
  29. return 'alpha-badge'
  30. case 'beta':
  31. default:
  32. return 'beta-badge'
  33. }
  34. }
  35. export default BetaBadgeIcon