Rewrite <LoadMore /> as FC and TS  (#25259)
		
	This commit is contained in:
		
					parent
					
						
							
								50a8f5b8a7
							
						
					
				
			
			
				commit
				
					
						fb5bf5cbf8
					
				
			
		
					 7 changed files with 29 additions and 33 deletions
				
			
		|  | @ -1,28 +0,0 @@ | |||
| import PropTypes from 'prop-types'; | ||||
| import { PureComponent } from 'react'; | ||||
| 
 | ||||
| import { FormattedMessage } from 'react-intl'; | ||||
| 
 | ||||
| export default class LoadMore extends PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     onClick: PropTypes.func, | ||||
|     disabled: PropTypes.bool, | ||||
|     visible: PropTypes.bool, | ||||
|   }; | ||||
| 
 | ||||
|   static defaultProps = { | ||||
|     visible: true, | ||||
|   }; | ||||
| 
 | ||||
|   render() { | ||||
|     const { disabled, visible } = this.props; | ||||
| 
 | ||||
|     return ( | ||||
|       <button type='button' className='load-more' disabled={disabled || !visible} style={{ visibility: visible ? 'visible' : 'hidden' }} onClick={this.props.onClick}> | ||||
|         <FormattedMessage id='status.load_more' defaultMessage='Load more' /> | ||||
|       </button> | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										24
									
								
								app/javascript/mastodon/components/load_more.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								app/javascript/mastodon/components/load_more.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| import { FormattedMessage } from 'react-intl'; | ||||
| 
 | ||||
| interface Props { | ||||
|   onClick: (event: React.MouseEvent) => void; | ||||
|   disabled?: boolean; | ||||
|   visible?: boolean; | ||||
| } | ||||
| export const LoadMore: React.FC<Props> = ({ | ||||
|   onClick, | ||||
|   disabled, | ||||
|   visible = true, | ||||
| }) => { | ||||
|   return ( | ||||
|     <button | ||||
|       type='button' | ||||
|       className='load-more' | ||||
|       disabled={disabled || !visible} | ||||
|       style={{ visibility: visible ? 'visible' : 'hidden' }} | ||||
|       onClick={onClick} | ||||
|     > | ||||
|       <FormattedMessage id='status.load_more' defaultMessage='Load more' /> | ||||
|     </button> | ||||
|   ); | ||||
| }; | ||||
|  | @ -15,7 +15,7 @@ import IntersectionObserverArticleContainer from '../containers/intersection_obs | |||
| import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen'; | ||||
| import IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper'; | ||||
| 
 | ||||
| import LoadMore from './load_more'; | ||||
| import { LoadMore } from './load_more'; | ||||
| import LoadPending from './load_pending'; | ||||
| import LoadingIndicator from './loading_indicator'; | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ import { connect } from 'react-redux'; | |||
| import { lookupAccount, fetchAccount } from 'mastodon/actions/accounts'; | ||||
| import { openModal } from 'mastodon/actions/modal'; | ||||
| import ColumnBackButton from 'mastodon/components/column_back_button'; | ||||
| import LoadMore from 'mastodon/components/load_more'; | ||||
| import { LoadMore } from 'mastodon/components/load_more'; | ||||
| import LoadingIndicator from 'mastodon/components/loading_indicator'; | ||||
| import ScrollContainer from 'mastodon/containers/scroll_container'; | ||||
| import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error'; | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; | |||
| import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||
| 
 | ||||
| import { Icon }  from 'mastodon/components/icon'; | ||||
| import LoadMore from 'mastodon/components/load_more'; | ||||
| import { LoadMore } from 'mastodon/components/load_more'; | ||||
| 
 | ||||
| import { ImmutableHashtag as Hashtag } from '../../../components/hashtag'; | ||||
| import AccountContainer from '../../../containers/account_container'; | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ import { addColumn, removeColumn, moveColumn, changeColumnParams } from 'mastodo | |||
| import { fetchDirectory, expandDirectory } from 'mastodon/actions/directory'; | ||||
| import Column from 'mastodon/components/column'; | ||||
| import ColumnHeader from 'mastodon/components/column_header'; | ||||
| import LoadMore from 'mastodon/components/load_more'; | ||||
| import { LoadMore } from 'mastodon/components/load_more'; | ||||
| import LoadingIndicator from 'mastodon/components/loading_indicator'; | ||||
| import { RadioButton } from 'mastodon/components/radio_button'; | ||||
| import ScrollContainer from 'mastodon/containers/scroll_container'; | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ import { connect } from 'react-redux'; | |||
| 
 | ||||
| import { expandSearch } from 'mastodon/actions/search'; | ||||
| import { ImmutableHashtag as Hashtag } from 'mastodon/components/hashtag'; | ||||
| import LoadMore from 'mastodon/components/load_more'; | ||||
| import { LoadMore } from 'mastodon/components/load_more'; | ||||
| import LoadingIndicator from 'mastodon/components/loading_indicator'; | ||||
| import Account from 'mastodon/containers/account_container'; | ||||
| import Status from 'mastodon/containers/status_container'; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue