Refactor initial state: "me" (#5563)
* Refactor initial state: "me" * remove "me" from reducers/meta.js
This commit is contained in:
		
							parent
							
								
									29609fbb6a
								
							
						
					
					
						commit
						b254e6ca5f
					
				
					 24 changed files with 44 additions and 60 deletions
				
			
		|  | @ -4,12 +4,13 @@ export const PINNED_STATUSES_FETCH_REQUEST = 'PINNED_STATUSES_FETCH_REQUEST'; | |||
| export const PINNED_STATUSES_FETCH_SUCCESS = 'PINNED_STATUSES_FETCH_SUCCESS'; | ||||
| export const PINNED_STATUSES_FETCH_FAIL = 'PINNED_STATUSES_FETCH_FAIL'; | ||||
| 
 | ||||
| import { me } from '../initial_state'; | ||||
| 
 | ||||
| export function fetchPinnedStatuses() { | ||||
|   return (dispatch, getState) => { | ||||
|     dispatch(fetchPinnedStatusesRequest()); | ||||
| 
 | ||||
|     const accountId = getState().getIn(['meta', 'me']); | ||||
|     api(getState).get(`/api/v1/accounts/${accountId}/statuses`, { params: { pinned: true } }).then(response => { | ||||
|     api(getState).get(`/api/v1/accounts/${me}/statuses`, { params: { pinned: true } }).then(response => { | ||||
|       dispatch(fetchPinnedStatusesSuccess(response.data, null)); | ||||
|     }).catch(error => { | ||||
|       dispatch(fetchPinnedStatusesFail(error)); | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ import Permalink from './permalink'; | |||
| import IconButton from './icon_button'; | ||||
| import { defineMessages, injectIntl } from 'react-intl'; | ||||
| import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||
| import { me } from '../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   follow: { id: 'account.follow', defaultMessage: 'Follow' }, | ||||
|  | @ -21,7 +22,6 @@ export default class Account extends ImmutablePureComponent { | |||
| 
 | ||||
|   static propTypes = { | ||||
|     account: ImmutablePropTypes.map.isRequired, | ||||
|     me: PropTypes.string.isRequired, | ||||
|     onFollow: PropTypes.func.isRequired, | ||||
|     onBlock: PropTypes.func.isRequired, | ||||
|     onMute: PropTypes.func.isRequired, | ||||
|  | @ -42,7 +42,7 @@ export default class Account extends ImmutablePureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { account, me, intl, hidden } = this.props; | ||||
|     const { account, intl, hidden } = this.props; | ||||
| 
 | ||||
|     if (!account) { | ||||
|       return <div />; | ||||
|  |  | |||
|  | @ -36,7 +36,6 @@ export default class Status extends ImmutablePureComponent { | |||
|     onBlock: PropTypes.func, | ||||
|     onEmbed: PropTypes.func, | ||||
|     onHeightChange: PropTypes.func, | ||||
|     me: PropTypes.string, | ||||
|     muted: PropTypes.bool, | ||||
|     hidden: PropTypes.bool, | ||||
|     onMoveUp: PropTypes.func, | ||||
|  | @ -52,7 +51,6 @@ export default class Status extends ImmutablePureComponent { | |||
|   updateOnProps = [ | ||||
|     'status', | ||||
|     'account', | ||||
|     'me', | ||||
|     'muted', | ||||
|     'hidden', | ||||
|   ] | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ import IconButton from './icon_button'; | |||
| import DropdownMenuContainer from '../containers/dropdown_menu_container'; | ||||
| import { defineMessages, injectIntl } from 'react-intl'; | ||||
| import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||
| import { me } from '../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   delete: { id: 'status.delete', defaultMessage: 'Delete' }, | ||||
|  | @ -47,7 +48,6 @@ export default class StatusActionBar extends ImmutablePureComponent { | |||
|     onEmbed: PropTypes.func, | ||||
|     onMuteConversation: PropTypes.func, | ||||
|     onPin: PropTypes.func, | ||||
|     me: PropTypes.string, | ||||
|     withDismiss: PropTypes.bool, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
|  | @ -56,7 +56,6 @@ export default class StatusActionBar extends ImmutablePureComponent { | |||
|   // evaluate to false. See react-immutable-pure-component for usage.
 | ||||
|   updateOnProps = [ | ||||
|     'status', | ||||
|     'me', | ||||
|     'withDismiss', | ||||
|   ] | ||||
| 
 | ||||
|  | @ -116,7 +115,7 @@ export default class StatusActionBar extends ImmutablePureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { status, me, intl, withDismiss } = this.props; | ||||
|     const { status, intl, withDismiss } = this.props; | ||||
| 
 | ||||
|     const mutingConversation = status.get('muted'); | ||||
|     const anonymousAccess    = !me; | ||||
|  |  | |||
|  | @ -23,7 +23,6 @@ const makeMapStateToProps = () => { | |||
| 
 | ||||
|   const mapStateToProps = (state, props) => ({ | ||||
|     account: getAccount(state, props.id), | ||||
|     me: state.getIn(['meta', 'me']), | ||||
|   }); | ||||
| 
 | ||||
|   return mapStateToProps; | ||||
|  |  | |||
|  | @ -36,7 +36,6 @@ const makeMapStateToProps = () => { | |||
| 
 | ||||
|   const mapStateToProps = (state, props) => ({ | ||||
|     status: getStatus(state, props.id), | ||||
|     me: state.getIn(['meta', 'me']), | ||||
|   }); | ||||
| 
 | ||||
|   return mapStateToProps; | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ import PropTypes from 'prop-types'; | |||
| import DropdownMenuContainer from '../../../containers/dropdown_menu_container'; | ||||
| import { Link } from 'react-router-dom'; | ||||
| import { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' }, | ||||
|  | @ -26,7 +27,6 @@ export default class ActionBar extends React.PureComponent { | |||
| 
 | ||||
|   static propTypes = { | ||||
|     account: ImmutablePropTypes.map.isRequired, | ||||
|     me: PropTypes.string.isRequired, | ||||
|     onFollow: PropTypes.func, | ||||
|     onBlock: PropTypes.func.isRequired, | ||||
|     onMention: PropTypes.func.isRequired, | ||||
|  | @ -44,7 +44,7 @@ export default class ActionBar extends React.PureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { account, me, intl } = this.props; | ||||
|     const { account, intl } = this.props; | ||||
| 
 | ||||
|     let menu = []; | ||||
|     let extraInfo = ''; | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ import IconButton from '../../../components/icon_button'; | |||
| import Motion from '../../ui/util/optional_motion'; | ||||
| import spring from 'react-motion/lib/spring'; | ||||
| import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||
| import { autoPlayGif } from '../../../initial_state'; | ||||
| import { autoPlayGif, me } from '../../../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, | ||||
|  | @ -67,13 +67,12 @@ export default class Header extends ImmutablePureComponent { | |||
| 
 | ||||
|   static propTypes = { | ||||
|     account: ImmutablePropTypes.map, | ||||
|     me: PropTypes.string.isRequired, | ||||
|     onFollow: PropTypes.func.isRequired, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { account, me, intl } = this.props; | ||||
|     const { account, intl } = this.props; | ||||
| 
 | ||||
|     if (!account) { | ||||
|       return null; | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ export default class Header extends ImmutablePureComponent { | |||
| 
 | ||||
|   static propTypes = { | ||||
|     account: ImmutablePropTypes.map, | ||||
|     me: PropTypes.string.isRequired, | ||||
|     onFollow: PropTypes.func.isRequired, | ||||
|     onBlock: PropTypes.func.isRequired, | ||||
|     onMention: PropTypes.func.isRequired, | ||||
|  | @ -61,7 +60,7 @@ export default class Header extends ImmutablePureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { account, me } = this.props; | ||||
|     const { account } = this.props; | ||||
| 
 | ||||
|     if (account === null) { | ||||
|       return <MissingIndicator />; | ||||
|  | @ -71,13 +70,11 @@ export default class Header extends ImmutablePureComponent { | |||
|       <div className='account-timeline__header'> | ||||
|         <InnerHeader | ||||
|           account={account} | ||||
|           me={me} | ||||
|           onFollow={this.handleFollow} | ||||
|         /> | ||||
| 
 | ||||
|         <ActionBar | ||||
|           account={account} | ||||
|           me={me} | ||||
|           onBlock={this.handleBlock} | ||||
|           onMention={this.handleMention} | ||||
|           onReport={this.handleReport} | ||||
|  |  | |||
|  | @ -29,7 +29,6 @@ const makeMapStateToProps = () => { | |||
| 
 | ||||
|   const mapStateToProps = (state, { accountId }) => ({ | ||||
|     account: getAccount(state, accountId), | ||||
|     me: state.getIn(['meta', 'me']), | ||||
|   }); | ||||
| 
 | ||||
|   return mapStateToProps; | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ const mapStateToProps = (state, props) => ({ | |||
|   statusIds: state.getIn(['timelines', `account:${props.params.accountId}`, 'items'], ImmutableList()), | ||||
|   isLoading: state.getIn(['timelines', `account:${props.params.accountId}`, 'isLoading']), | ||||
|   hasMore: !!state.getIn(['timelines', `account:${props.params.accountId}`, 'next']), | ||||
|   me: state.getIn(['meta', 'me']), | ||||
| }); | ||||
| 
 | ||||
| @connect(mapStateToProps) | ||||
|  | @ -28,7 +27,6 @@ export default class AccountTimeline extends ImmutablePureComponent { | |||
|     statusIds: ImmutablePropTypes.list, | ||||
|     isLoading: PropTypes.bool, | ||||
|     hasMore: PropTypes.bool, | ||||
|     me: PropTypes.string.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|   componentWillMount () { | ||||
|  | @ -50,7 +48,7 @@ export default class AccountTimeline extends ImmutablePureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { statusIds, isLoading, hasMore, me } = this.props; | ||||
|     const { statusIds, isLoading, hasMore } = this.props; | ||||
| 
 | ||||
|     if (!statusIds && isLoading) { | ||||
|       return ( | ||||
|  | @ -70,7 +68,6 @@ export default class AccountTimeline extends ImmutablePureComponent { | |||
|           statusIds={statusIds} | ||||
|           isLoading={isLoading} | ||||
|           hasMore={hasMore} | ||||
|           me={me} | ||||
|           onScrollToBottom={this.handleScrollToBottom} | ||||
|         /> | ||||
|       </Column> | ||||
|  |  | |||
|  | @ -41,7 +41,6 @@ export default class ComposeForm extends ImmutablePureComponent { | |||
|     preselectDate: PropTypes.instanceOf(Date), | ||||
|     is_submitting: PropTypes.bool, | ||||
|     is_uploading: PropTypes.bool, | ||||
|     me: PropTypes.string, | ||||
|     onChange: PropTypes.func.isRequired, | ||||
|     onSubmit: PropTypes.func.isRequired, | ||||
|     onClearSuggestions: PropTypes.func.isRequired, | ||||
|  |  | |||
|  | @ -22,7 +22,6 @@ const mapStateToProps = state => ({ | |||
|   preselectDate: state.getIn(['compose', 'preselectDate']), | ||||
|   is_submitting: state.getIn(['compose', 'is_submitting']), | ||||
|   is_uploading: state.getIn(['compose', 'is_uploading']), | ||||
|   me: state.getIn(['compose', 'me']), | ||||
|   showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']), | ||||
| }); | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,9 +1,10 @@ | |||
| import { connect }   from 'react-redux'; | ||||
| import NavigationBar from '../components/navigation_bar'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const mapStateToProps = state => { | ||||
|   return { | ||||
|     account: state.getIn(['accounts', state.getIn(['meta', 'me'])]), | ||||
|     account: state.getIn(['accounts', me]), | ||||
|   }; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,9 +3,10 @@ import { connect } from 'react-redux'; | |||
| import Warning from '../components/warning'; | ||||
| import PropTypes from 'prop-types'; | ||||
| import { FormattedMessage } from 'react-intl'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', state.getIn(['meta', 'me']), 'locked']), | ||||
|   needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']), | ||||
| }); | ||||
| 
 | ||||
| const WarningWrapper = ({ needsLockWarning }) => { | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ import { connect } from 'react-redux'; | |||
| import PropTypes from 'prop-types'; | ||||
| import ImmutablePropTypes from 'react-immutable-proptypes'; | ||||
| import ImmutablePureComponent from 'react-immutable-pure-component'; | ||||
| import { me } from '../../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' }, | ||||
|  | @ -27,7 +28,7 @@ const messages = defineMessages({ | |||
| }); | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   me: state.getIn(['accounts', state.getIn(['meta', 'me'])]), | ||||
|   myAccount: state.getIn(['accounts', me]), | ||||
|   columns: state.getIn(['settings', 'columns']), | ||||
| }); | ||||
| 
 | ||||
|  | @ -37,13 +38,13 @@ export default class GettingStarted extends ImmutablePureComponent { | |||
| 
 | ||||
|   static propTypes = { | ||||
|     intl: PropTypes.object.isRequired, | ||||
|     me: ImmutablePropTypes.map.isRequired, | ||||
|     myAccount: ImmutablePropTypes.map.isRequired, | ||||
|     columns: ImmutablePropTypes.list, | ||||
|     multiColumn: PropTypes.bool, | ||||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { intl, me, columns, multiColumn } = this.props; | ||||
|     const { intl, myAccount, columns, multiColumn } = this.props; | ||||
| 
 | ||||
|     let navItems = []; | ||||
| 
 | ||||
|  | @ -70,7 +71,7 @@ export default class GettingStarted extends ImmutablePureComponent { | |||
|       <ColumnLink key='5' icon='thumb-tack' text={intl.formatMessage(messages.pins)} to='/pinned' />, | ||||
|     ]); | ||||
| 
 | ||||
|     if (me.get('locked')) { | ||||
|     if (myAccount.get('locked')) { | ||||
|       navItems.push(<ColumnLink key='6' icon='users' text={intl.formatMessage(messages.follow_requests)} to='/follow_requests' />); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ import IconButton from '../../../components/icon_button'; | |||
| import ImmutablePropTypes from 'react-immutable-proptypes'; | ||||
| import DropdownMenuContainer from '../../../containers/dropdown_menu_container'; | ||||
| import { defineMessages, injectIntl } from 'react-intl'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   delete: { id: 'status.delete', defaultMessage: 'Delete' }, | ||||
|  | @ -36,7 +37,6 @@ export default class ActionBar extends React.PureComponent { | |||
|     onReport: PropTypes.func, | ||||
|     onPin: PropTypes.func, | ||||
|     onEmbed: PropTypes.func, | ||||
|     me: PropTypes.string.isRequired, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|  | @ -80,7 +80,7 @@ export default class ActionBar extends React.PureComponent { | |||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { status, me, intl } = this.props; | ||||
|     const { status, intl } = this.props; | ||||
| 
 | ||||
|     const publicStatus = ['public', 'unlisted'].includes(status.get('visibility')); | ||||
| 
 | ||||
|  |  | |||
|  | @ -43,7 +43,6 @@ const makeMapStateToProps = () => { | |||
|     status: getStatus(state, props.params.statusId), | ||||
|     ancestorsIds: state.getIn(['contexts', 'ancestors', props.params.statusId]), | ||||
|     descendantsIds: state.getIn(['contexts', 'descendants', props.params.statusId]), | ||||
|     me: state.getIn(['meta', 'me']), | ||||
|   }); | ||||
| 
 | ||||
|   return mapStateToProps; | ||||
|  | @ -63,7 +62,6 @@ export default class Status extends ImmutablePureComponent { | |||
|     status: ImmutablePropTypes.map, | ||||
|     ancestorsIds: ImmutablePropTypes.list, | ||||
|     descendantsIds: ImmutablePropTypes.list, | ||||
|     me: PropTypes.string, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|  | @ -252,7 +250,7 @@ export default class Status extends ImmutablePureComponent { | |||
| 
 | ||||
|   render () { | ||||
|     let ancestors, descendants; | ||||
|     const { status, ancestorsIds, descendantsIds, me } = this.props; | ||||
|     const { status, ancestorsIds, descendantsIds } = this.props; | ||||
| 
 | ||||
|     if (status === null) { | ||||
|       return ( | ||||
|  | @ -293,14 +291,12 @@ export default class Status extends ImmutablePureComponent { | |||
|               <div className='focusable' tabIndex='0'> | ||||
|                 <DetailedStatus | ||||
|                   status={status} | ||||
|                   me={me} | ||||
|                   onOpenVideo={this.handleOpenVideo} | ||||
|                   onOpenMedia={this.handleOpenMedia} | ||||
|                 /> | ||||
| 
 | ||||
|                 <ActionBar | ||||
|                   status={status} | ||||
|                   me={me} | ||||
|                   onReply={this.handleReplyClick} | ||||
|                   onFavourite={this.handleFavouriteClick} | ||||
|                   onReblog={this.handleReblogClick} | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ import Search from '../../compose/components/search'; | |||
| import NavigationBar from '../../compose/components/navigation_bar'; | ||||
| import ColumnHeader from './column_header'; | ||||
| import { List as ImmutableList } from 'immutable'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const noop = () => { }; | ||||
| 
 | ||||
|  | @ -40,11 +41,11 @@ PageOne.propTypes = { | |||
|   domain: PropTypes.string.isRequired, | ||||
| }; | ||||
| 
 | ||||
| const PageTwo = ({ me }) => ( | ||||
| const PageTwo = ({ myAccount }) => ( | ||||
|   <div className='onboarding-modal__page onboarding-modal__page-two'> | ||||
|     <div className='figure non-interactive'> | ||||
|       <div className='pseudo-drawer'> | ||||
|         <NavigationBar account={me} /> | ||||
|         <NavigationBar account={myAccount} /> | ||||
|       </div> | ||||
|       <ComposeForm | ||||
|         text='Awoo! #introductions' | ||||
|  | @ -68,10 +69,10 @@ const PageTwo = ({ me }) => ( | |||
| ); | ||||
| 
 | ||||
| PageTwo.propTypes = { | ||||
|   me: ImmutablePropTypes.map.isRequired, | ||||
|   myAccount: ImmutablePropTypes.map.isRequired, | ||||
| }; | ||||
| 
 | ||||
| const PageThree = ({ me }) => ( | ||||
| const PageThree = ({ myAccount }) => ( | ||||
|   <div className='onboarding-modal__page onboarding-modal__page-three'> | ||||
|     <div className='figure non-interactive'> | ||||
|       <Search | ||||
|  | @ -83,7 +84,7 @@ const PageThree = ({ me }) => ( | |||
|       /> | ||||
| 
 | ||||
|       <div className='pseudo-drawer'> | ||||
|         <NavigationBar account={me} /> | ||||
|         <NavigationBar account={myAccount} /> | ||||
|       </div> | ||||
|     </div> | ||||
| 
 | ||||
|  | @ -93,7 +94,7 @@ const PageThree = ({ me }) => ( | |||
| ); | ||||
| 
 | ||||
| PageThree.propTypes = { | ||||
|   me: ImmutablePropTypes.map.isRequired, | ||||
|   myAccount: ImmutablePropTypes.map.isRequired, | ||||
| }; | ||||
| 
 | ||||
| const PageFour = ({ domain, intl }) => ( | ||||
|  | @ -161,7 +162,7 @@ PageSix.propTypes = { | |||
| }; | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   me: state.getIn(['accounts', state.getIn(['meta', 'me'])]), | ||||
|   myAccount: state.getIn(['accounts', me]), | ||||
|   admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]), | ||||
|   domain: state.getIn(['meta', 'domain']), | ||||
| }); | ||||
|  | @ -173,7 +174,7 @@ export default class OnboardingModal extends React.PureComponent { | |||
|   static propTypes = { | ||||
|     onClose: PropTypes.func.isRequired, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|     me: ImmutablePropTypes.map.isRequired, | ||||
|     myAccount: ImmutablePropTypes.map.isRequired, | ||||
|     domain: PropTypes.string.isRequired, | ||||
|     admin: ImmutablePropTypes.map, | ||||
|   }; | ||||
|  | @ -183,11 +184,11 @@ export default class OnboardingModal extends React.PureComponent { | |||
|   }; | ||||
| 
 | ||||
|   componentWillMount() { | ||||
|     const { me, admin, domain, intl } = this.props; | ||||
|     const { myAccount, admin, domain, intl } = this.props; | ||||
|     this.pages = [ | ||||
|       <PageOne acct={me.get('acct')} domain={domain} />, | ||||
|       <PageTwo me={me} />, | ||||
|       <PageThree me={me} />, | ||||
|       <PageOne acct={myAccount.get('acct')} domain={domain} />, | ||||
|       <PageTwo myAccount={myAccount} />, | ||||
|       <PageThree myAccount={myAccount} />, | ||||
|       <PageFour domain={domain} intl={intl} />, | ||||
|       <PageSix admin={admin} domain={domain} />, | ||||
|     ]; | ||||
|  |  | |||
|  | @ -4,13 +4,13 @@ import { scrollTopTimeline } from '../../../actions/timelines'; | |||
| import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; | ||||
| import { createSelector } from 'reselect'; | ||||
| import { debounce } from 'lodash'; | ||||
| import { me } from '../../../initial_state'; | ||||
| 
 | ||||
| const makeGetStatusIds = () => createSelector([ | ||||
|   (state, { type }) => state.getIn(['settings', type], ImmutableMap()), | ||||
|   (state, { type }) => state.getIn(['timelines', type, 'items'], ImmutableList()), | ||||
|   (state)           => state.get('statuses'), | ||||
|   (state)           => state.getIn(['meta', 'me']), | ||||
| ], (columnSettings, statusIds, statuses, me) => { | ||||
| ], (columnSettings, statusIds, statuses) => { | ||||
|   const rawRegex = columnSettings.getIn(['regex', 'body'], '').trim(); | ||||
|   let regex      = null; | ||||
| 
 | ||||
|  |  | |||
|  | @ -38,13 +38,13 @@ import { | |||
|   PinnedStatuses, | ||||
| } from './util/async-components'; | ||||
| import { HotKeys } from 'react-hotkeys'; | ||||
| import { me } from '../../initial_state'; | ||||
| 
 | ||||
| // Dummy import, to make sure that <Status /> ends up in the application bundle.
 | ||||
| // Without this it ends up in ~8 very commonly used bundles.
 | ||||
| import '../../components/status'; | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   me: state.getIn(['meta', 'me']), | ||||
|   isComposing: state.getIn(['compose', 'is_composing']), | ||||
| }); | ||||
| 
 | ||||
|  | @ -86,7 +86,6 @@ export default class UI extends React.Component { | |||
|     dispatch: PropTypes.func.isRequired, | ||||
|     children: PropTypes.node, | ||||
|     isComposing: PropTypes.bool, | ||||
|     me: PropTypes.string, | ||||
|     location: PropTypes.object, | ||||
|   }; | ||||
| 
 | ||||
|  | @ -305,7 +304,7 @@ export default class UI extends React.Component { | |||
|   } | ||||
| 
 | ||||
|   handleHotkeyGoToProfile = () => { | ||||
|     this.context.router.history.push(`/accounts/${this.props.me}`); | ||||
|     this.context.router.history.push(`/accounts/${me}`); | ||||
|   } | ||||
| 
 | ||||
|   handleHotkeyGoToBlocked = () => { | ||||
|  |  | |||
|  | @ -8,5 +8,6 @@ export const autoPlayGif = getMeta('auto_play_gif'); | |||
| export const unfollowModal = getMeta('unfollow_modal'); | ||||
| export const boostModal = getMeta('boost_modal'); | ||||
| export const deleteModal = getMeta('delete_modal'); | ||||
| export const me = getMeta('me'); | ||||
| 
 | ||||
| export default initialState; | ||||
|  |  | |||
|  | @ -31,6 +31,7 @@ import { TIMELINE_DELETE } from '../actions/timelines'; | |||
| import { STORE_HYDRATE } from '../actions/store'; | ||||
| import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable'; | ||||
| import uuid from '../uuid'; | ||||
| import { me } from '../initial_state'; | ||||
| 
 | ||||
| const initialState = ImmutableMap({ | ||||
|   mounted: false, | ||||
|  | @ -49,7 +50,6 @@ const initialState = ImmutableMap({ | |||
|   media_attachments: ImmutableList(), | ||||
|   suggestion_token: null, | ||||
|   suggestions: ImmutableList(), | ||||
|   me: null, | ||||
|   default_privacy: 'public', | ||||
|   default_sensitive: false, | ||||
|   resetFileKey: Math.floor((Math.random() * 0x10000)), | ||||
|  | @ -58,7 +58,6 @@ const initialState = ImmutableMap({ | |||
| 
 | ||||
| function statusToTextMentions(state, status) { | ||||
|   let set = ImmutableOrderedSet([]); | ||||
|   let me  = state.get('me'); | ||||
| 
 | ||||
|   if (status.getIn(['account', 'id']) !== me) { | ||||
|     set = set.add(`@${status.getIn(['account', 'acct'])} `); | ||||
|  |  | |||
|  | @ -4,7 +4,6 @@ import { Map as ImmutableMap } from 'immutable'; | |||
| const initialState = ImmutableMap({ | ||||
|   streaming_api_base_url: null, | ||||
|   access_token: null, | ||||
|   me: null, | ||||
| }); | ||||
| 
 | ||||
| export default function meta(state = initialState, action) { | ||||
|  |  | |||
		Reference in a new issue