24 lines
923 B
JavaScript
24 lines
923 B
JavaScript
import React from 'react';
|
|
import { connect } from 'react-redux';
|
|
import { makeGetAccount } from 'flavours/glitch/selectors';
|
|
import { injectIntl } from 'react-intl';
|
|
import { pinAccount, unpinAccount } from 'flavours/glitch/actions/accounts';
|
|
import Account from 'flavours/glitch/features/list_editor/components/account';
|
|
|
|
const makeMapStateToProps = () => {
|
|
const getAccount = makeGetAccount();
|
|
|
|
const mapStateToProps = (state, { accountId, added }) => ({
|
|
account: getAccount(state, accountId),
|
|
added: typeof added === 'undefined' ? state.getIn(['pinnedAccountsEditor', 'accounts', 'items']).includes(accountId) : added,
|
|
});
|
|
|
|
return mapStateToProps;
|
|
};
|
|
|
|
const mapDispatchToProps = (dispatch, { accountId }) => ({
|
|
onRemove: () => dispatch(unpinAccount(accountId)),
|
|
onAdd: () => dispatch(pinAccount(accountId)),
|
|
});
|
|
|
|
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));
|