56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| import PropTypes from 'prop-types';
 | |
| import { PureComponent } from 'react';
 | |
| 
 | |
| import { connect } from 'react-redux';
 | |
| 
 | |
| import FeaturedTags from 'flavours/glitch/features/account/containers/featured_tags_container';
 | |
| import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
 | |
| 
 | |
| const mapStateToProps = (state, { match: { params: { acct } } }) => {
 | |
|   const accountId = state.getIn(['accounts_map', normalizeForLookup(acct)]);
 | |
| 
 | |
|   if (!accountId) {
 | |
|     return {
 | |
|       isLoading: true,
 | |
|     };
 | |
|   }
 | |
| 
 | |
|   return {
 | |
|     accountId,
 | |
|     isLoading: false,
 | |
|   };
 | |
| };
 | |
| 
 | |
| class AccountNavigation extends PureComponent {
 | |
| 
 | |
|   static propTypes = {
 | |
|     match: PropTypes.shape({
 | |
|       params: PropTypes.shape({
 | |
|         acct: PropTypes.string,
 | |
|         tagged: PropTypes.string,
 | |
|       }).isRequired,
 | |
|     }).isRequired,
 | |
| 
 | |
|     accountId: PropTypes.string,
 | |
|     isLoading: PropTypes.bool,
 | |
|   };
 | |
| 
 | |
|   render () {
 | |
|     const { accountId, isLoading, match: { params: { tagged } } } = this.props;
 | |
| 
 | |
|     if (isLoading) {
 | |
|       return null;
 | |
|     }
 | |
| 
 | |
|     return (
 | |
|       <>
 | |
|         <div className='flex-spacer' />
 | |
|         <FeaturedTags accountId={accountId} tagged={tagged} />
 | |
|       </>
 | |
|     );
 | |
|   }
 | |
| 
 | |
| }
 | |
| 
 | |
| export default connect(mapStateToProps)(AccountNavigation);
 |