Rewrite Icon and IconWithBadge with typescript (#24747)
This commit is contained in:
		
					parent
					
						
							
								c53fe9b753
							
						
					
				
			
			
				commit
				
					
						81f75b1e0e
					
				
			
		
					 4 changed files with 34 additions and 43 deletions
				
			
		
							
								
								
									
										20
									
								
								app/javascript/mastodon/components/icon_with_badge.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/javascript/mastodon/components/icon_with_badge.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | |||
| import React from 'react'; | ||||
| import { Icon } from './icon'; | ||||
| 
 | ||||
| const formatNumber = (num: number): number | string => num > 40 ? '40+' : num; | ||||
| 
 | ||||
| type Props = { | ||||
|   id: string; | ||||
|   count: number; | ||||
|   issueBadge: boolean; | ||||
|   className: string; | ||||
| } | ||||
| const IconWithBadge: React.FC<Props> = ({ id, count, issueBadge, className }) => ( | ||||
|   <i className='icon-with-badge'> | ||||
|     <Icon id={id} fixedWidth className={className} /> | ||||
|     {count > 0 && <i className='icon-with-badge__badge'>{formatNumber(count)}</i>} | ||||
|     {issueBadge && <i className='icon-with-badge__issue-badge' />} | ||||
|   </i> | ||||
| ); | ||||
| 
 | ||||
| export default IconWithBadge; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue