Merge branch 'refactor-getOtherAccounts' into 'develop'

Refactor getOtherAccounts selector

See merge request soapbox-pub/soapbox-fe!599
This commit is contained in:
Alex Gleason 2021-07-10 10:00:48 +00:00
commit 258889c492
3 changed files with 16 additions and 22 deletions

View file

@ -53,17 +53,13 @@ const makeMapStateToProps = () => {
const me = state.get('me');
const soapbox = getSoapboxConfig(state);
const accounts = state.get('accounts');
const authUsers = state.getIn(['auth', 'users']);
const otherAccounts = getOtherAccounts(accounts, authUsers, me);
return {
account: getAccount(state, me),
sidebarOpen: state.get('sidebar').sidebarOpen,
donateUrl: state.getIn(['patron', 'instance', 'url']),
hasCrypto: typeof soapbox.getIn(['cryptoAddresses', 0, 'ticker']) === 'string',
isStaff: isStaff(state.getIn(['accounts', me])),
otherAccounts,
otherAccounts: getOtherAccounts(state),
};
};

View file

@ -24,13 +24,9 @@ const makeMapStateToProps = () => {
const mapStateToProps = state => {
const me = state.get('me');
const accounts = state.get('accounts');
const authUsers = state.getIn(['auth', 'users']);
const otherAccounts = getOtherAccounts(accounts, authUsers, me);
return {
account: state.getIn(['accounts', me]),
otherAccounts,
otherAccounts: getOtherAccounts(state),
isStaff: isStaff(state.getIn(['accounts', me])),
};
};

View file

@ -197,16 +197,18 @@ export const makeGetReport = () => {
};
export const makeGetOtherAccounts = () => {
return createSelector(
[(accounts, authUsers, me) => {
return authUsers
.keySeq()
.reduce((list, id) => {
if (id === me) return list;
const account = accounts.get(id);
return account ? list.push(account) : list;
}, ImmutableList());
}],
otherAccounts => otherAccounts,
);
return createSelector([
state => state.get('accounts'),
state => state.getIn(['auth', 'users']),
state => state.get('me'),
],
(accounts, authUsers, me) => {
return authUsers
.keySeq()
.reduce((list, id) => {
if (id === me) return list;
const account = accounts.get(id);
return account ? list.push(account) : list;
}, ImmutableList());
});
};