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 me = state.get('me');
const soapbox = getSoapboxConfig(state); const soapbox = getSoapboxConfig(state);
const accounts = state.get('accounts');
const authUsers = state.getIn(['auth', 'users']);
const otherAccounts = getOtherAccounts(accounts, authUsers, me);
return { return {
account: getAccount(state, me), account: getAccount(state, me),
sidebarOpen: state.get('sidebar').sidebarOpen, sidebarOpen: state.get('sidebar').sidebarOpen,
donateUrl: state.getIn(['patron', 'instance', 'url']), donateUrl: state.getIn(['patron', 'instance', 'url']),
hasCrypto: typeof soapbox.getIn(['cryptoAddresses', 0, 'ticker']) === 'string', hasCrypto: typeof soapbox.getIn(['cryptoAddresses', 0, 'ticker']) === 'string',
isStaff: isStaff(state.getIn(['accounts', me])), isStaff: isStaff(state.getIn(['accounts', me])),
otherAccounts, otherAccounts: getOtherAccounts(state),
}; };
}; };

View file

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

View file

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