beta-badge-icon.tsx 840 B

12345678910111213141516171819202122232425262728293031323334
  1. import type { FC } from 'react'
  2. import MaterialIcon from '@/shared/components/material-icon'
  3. import OLBadge from '@/features/ui/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 <OLBadge bg="warning">β</OLBadge>
  18. }
  19. }
  20. function chooseBadgeClass(phase?: string) {
  21. switch (phase) {
  22. case 'release':
  23. return 'info-badge'
  24. case 'alpha':
  25. return 'alpha-badge'
  26. case 'beta':
  27. default:
  28. return 'beta-badge'
  29. }
  30. }
  31. export default BetaBadgeIcon