import { connect } from 'react-redux' import ProjectList from '../../components/projects/ProjectAuthList' const getVisibleProjectAuths = (projectAuths, filter) => { switch (filter) { case 'SHOW_ALL': return projectAuths case 'SHOW_OWN': return projectAuths.filter( projectAuth => projectAuth.authorizationLevel === 'OWN', ) case 'SHOW_SHARED': return projectAuths.filter( projectAuth => projectAuth.authorizationLevel !== 'OWN', ) default: return projectAuths } } const mapStateToProps = state => { const denormalizedAuthorizations = state.projectList.authorizationsOfCurrentUser.map( authorizationIds => { const authorization = state.objects.authorization[authorizationIds] authorization.user = state.objects.user[authorization.userId] authorization.project = state.objects.project[authorization.projectId] return authorization }, ) return { authorizations: getVisibleProjectAuths( denormalizedAuthorizations, state.projectList.authVisibilityFilter, ), } } const VisibleProjectAuthList = connect(mapStateToProps)(ProjectList) export default VisibleProjectAuthList