import React from 'react';
import { connect } from 'react-redux';
import {
uriType,
scrollTo,
sourceIcon,
} from '../util/helpers';
import Link from './Link';
import Icon from './Icon';
import Thumbnail from './Thumbnail';
import LinksSentence from './LinksSentence';
import { I18n } from '../locale';
class GridItem extends React.Component {
componentDidMount() {
const {
mopidyActions,
spotifyActions,
spotifyAvailable,
item,
} = this.props;
if (!item || item.images) return;
switch (uriType(item.uri)) {
case 'artist':
if (spotifyActions && spotifyAvailable) {
//spotifyActions.getArtistImages(item);
}
break;
case 'album':
// If Mopidy doesn't find any images, then it will pass on the call to LastFM
if (mopidyActions) {
mopidyActions.getImages([item.uri]);
}
break;
default:
break;
}
}
shouldComponentUpdate = (nextProps) => {
const { item } = this.props;
return nextProps.item !== item;
}
onContextMenu = (e) => {
const { onContextMenu } = this.props;
if (onContextMenu) {
onContextMenu(e);
}
}
renderSecondary = ({
uri,
tracks_total,
tracks = [],
followers,
albums_uris,
artists,
}) => {
let trackCount = 0;
if (tracks) trackCount = tracks.length;
if (tracks_total) trackCount = tracks_total;
switch (uriType(uri)) {
case 'playlist':
return (