Rewrite <LoadGap /> as FC and TS (#25042)
				
					
				
			This commit is contained in:
		
							parent
							
								
									d27216dc46
								
							
						
					
					
						commit
						7336f3648b
					
				| @ -1,37 +0,0 @@ | ||||
| import PropTypes from 'prop-types'; | ||||
| import { PureComponent } from 'react'; | ||||
| 
 | ||||
| import { injectIntl, defineMessages } from 'react-intl'; | ||||
| 
 | ||||
| import { Icon }  from 'mastodon/components/icon'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   load_more: { id: 'status.load_more', defaultMessage: 'Load more' }, | ||||
| }); | ||||
| 
 | ||||
| class LoadGap extends PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     disabled: PropTypes.bool, | ||||
|     maxId: PropTypes.string, | ||||
|     onClick: PropTypes.func.isRequired, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|   handleClick = () => { | ||||
|     this.props.onClick(this.props.maxId); | ||||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { disabled, intl } = this.props; | ||||
| 
 | ||||
|     return ( | ||||
|       <button className='load-more load-gap' disabled={disabled} onClick={this.handleClick} aria-label={intl.formatMessage(messages.load_more)}> | ||||
|         <Icon id='ellipsis-h' /> | ||||
|       </button> | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export default injectIntl(LoadGap); | ||||
							
								
								
									
										36
									
								
								app/javascript/mastodon/components/load_gap.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								app/javascript/mastodon/components/load_gap.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| import { useCallback } from 'react'; | ||||
| 
 | ||||
| import type { InjectedIntl } from 'react-intl'; | ||||
| import { injectIntl, defineMessages } from 'react-intl'; | ||||
| 
 | ||||
| import { Icon } from 'mastodon/components/icon'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   load_more: { id: 'status.load_more', defaultMessage: 'Load more' }, | ||||
| }); | ||||
| 
 | ||||
| interface Props { | ||||
|   disabled: boolean; | ||||
|   maxId: string; | ||||
|   onClick: (maxId: string) => void; | ||||
|   intl: InjectedIntl; | ||||
| } | ||||
| 
 | ||||
| export const LoadGap = injectIntl<Props>( | ||||
|   ({ disabled, maxId, onClick, intl }) => { | ||||
|     const handleClick = useCallback(() => { | ||||
|       onClick(maxId); | ||||
|     }, [maxId, onClick]); | ||||
| 
 | ||||
|     return ( | ||||
|       <button | ||||
|         className='load-more load-gap' | ||||
|         disabled={disabled} | ||||
|         onClick={handleClick} | ||||
|         aria-label={intl.formatMessage(messages.load_more)} | ||||
|       > | ||||
|         <Icon id='ellipsis-h' /> | ||||
|       </button> | ||||
|     ); | ||||
|   } | ||||
| ); | ||||
| @ -9,7 +9,7 @@ import RegenerationIndicator from 'mastodon/components/regeneration_indicator'; | ||||
| 
 | ||||
| import StatusContainer from '../containers/status_container'; | ||||
| 
 | ||||
| import LoadGap from './load_gap'; | ||||
| import { LoadGap } from './load_gap'; | ||||
| import ScrollableList from './scrollable_list'; | ||||
| 
 | ||||
| export default class StatusList extends ImmutablePureComponent { | ||||
|  | ||||
| @ -28,7 +28,7 @@ import { | ||||
| } from '../../actions/notifications'; | ||||
| import Column from '../../components/column'; | ||||
| import ColumnHeader from '../../components/column_header'; | ||||
| import LoadGap from '../../components/load_gap'; | ||||
| import { LoadGap } from '../../components/load_gap'; | ||||
| import ScrollableList from '../../components/scrollable_list'; | ||||
| 
 | ||||
| import NotificationsPermissionBanner from './components/notifications_permission_banner'; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user