From 5f7ab4ae0d4de6da5ba44a17322a46b331334077 Mon Sep 17 00:00:00 2001 From: Chris Beer <cabeer@stanford.edu> Date: Fri, 15 Mar 2019 10:36:57 -0700 Subject: [PATCH] Pull provider logos into the ManifestListItem class --- src/components/ManifestListItem.js | 14 +++++++++++++- src/containers/ManifestListItem.js | 7 ++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/components/ManifestListItem.js b/src/components/ManifestListItem.js index 022f29439..1dc9d800e 100644 --- a/src/components/ManifestListItem.js +++ b/src/components/ManifestListItem.js @@ -41,6 +41,7 @@ export class ManifestListItem extends React.Component { ready, title, thumbnail, + manifestLogo, addWindow, handleClose, size, @@ -119,7 +120,16 @@ export class ManifestListItem extends React.Component { </Grid> <Grid item xs={4} sm={2}> - <WindowIcon className={ns('manifest-list-item-logo')} manifestId={manifestId} /> + { + <ReactPlaceholder ready={!!manifestLogo} type="rect" style={{ width: 60, height: 60 }}> + <img + src={manifestLogo} + alt="" + role="presentation" + className={classes.logo} + /> + </ReactPlaceholder> + } </Grid> </Grid> </ReactPlaceholder> @@ -136,6 +146,7 @@ ManifestListItem.propTypes = { title: PropTypes.string, thumbnail: PropTypes.string, size: PropTypes.number, + manifestLogo: PropTypes.string, classes: PropTypes.object, // eslint-disable-line react/forbid-prop-types provider: PropTypes.string, t: PropTypes.func, @@ -155,4 +166,5 @@ ManifestListItem.defaultProps = { t: key => key, error: null, isFetching: false, + manifestLogo: null, }; diff --git a/src/containers/ManifestListItem.js b/src/containers/ManifestListItem.js index 173e0ee92..7a1959703 100644 --- a/src/containers/ManifestListItem.js +++ b/src/containers/ManifestListItem.js @@ -3,7 +3,7 @@ import { connect } from 'react-redux'; import { withTranslation } from 'react-i18next'; import { withStyles } from '@material-ui/core'; import { - getManifestTitle, getManifestThumbnail, getManifestCanvases, getManifestProvider, + getManifestTitle, getManifestThumbnail, getManifestCanvases, getManifestLogo, getManifestProvider, } from '../state/selectors'; import * as actions from '../state/actions'; import { ManifestListItem } from '../components/ManifestListItem'; @@ -20,6 +20,7 @@ const mapStateToProps = (state, { manifestId }) => { thumbnail: getManifestThumbnail(manifest), provider: getManifestProvider(manifest), size: getManifestCanvases(manifest).length, + manifestLogo: getManifestLogo(state.manifests[manifestId]), }; }; @@ -43,6 +44,10 @@ const styles = theme => ({ textTransform: 'initial', textAlign: 'left', }, + logo: { + height: '2.5rem', + paddingRight: 8, + }, }); const enhance = compose( -- GitLab