Play all artist tracks, fixes #395
This commit is contained in:
@ -898,6 +898,16 @@ class ContextMenu extends React.Component {
|
||||
</div>
|
||||
);
|
||||
|
||||
const play_artist_all_tracks = (
|
||||
<div className="context-menu__item">
|
||||
<a className="context-menu__item__link" onClick={this.playURIs}>
|
||||
<span className="context-menu__item__label">
|
||||
<I18n path="context_menu.play_all_tracks" />
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
|
||||
const add_to_queue = (
|
||||
<div className="context-menu__item">
|
||||
<a className="context-menu__item__link" onClick={this.addToQueue}>
|
||||
@ -1146,6 +1156,7 @@ class ContextMenu extends React.Component {
|
||||
return (
|
||||
<div>
|
||||
{context.source === 'spotify' && play_artist_top_tracks}
|
||||
{play_artist_all_tracks}
|
||||
{context.source === 'spotify' && start_radio}
|
||||
{this.canBeInLibrary() && <div className="context-menu__divider" />}
|
||||
{this.canBeInLibrary() && toggle_in_library}
|
||||
|
||||
@ -173,6 +173,7 @@ context_menu:
|
||||
no_playlists: No writable playlists
|
||||
play_next: Play next
|
||||
play_top_tracks: Play top tracks
|
||||
play_all_tracks: Play all tracks
|
||||
love_track: Love track
|
||||
unlove_track: Unlove track
|
||||
pin: Pin
|
||||
|
||||
@ -123,17 +123,26 @@ class Artist extends React.Component {
|
||||
trackEvent({ category: 'Artist', action: `Sort${type}`, label: `${value} ${reverse ? 'DESC' : 'ASC'}` });
|
||||
}
|
||||
|
||||
onPlay = () => {
|
||||
onPlayAll = () => {
|
||||
const {
|
||||
artist: {
|
||||
uri,
|
||||
tracks,
|
||||
albums_uris,
|
||||
},
|
||||
uiActions: {
|
||||
createNotification,
|
||||
},
|
||||
mopidyActions: {
|
||||
playURIs,
|
||||
},
|
||||
} = this.props;
|
||||
|
||||
if ((!albums_uris || !albums_uris.length) && (!tracks || !tracks.length)) {
|
||||
createNotification({ content: i18n('errors.no_results'), level: 'warning' });
|
||||
return;
|
||||
}
|
||||
|
||||
playURIs(arrayOf('uri', tracks) || albums_uris, uri);
|
||||
}
|
||||
|
||||
@ -159,6 +168,7 @@ class Artist extends React.Component {
|
||||
context: 'artist',
|
||||
items: [artist],
|
||||
uris: [uri],
|
||||
tracklist_uri: uri,
|
||||
});
|
||||
}
|
||||
|
||||
@ -507,7 +517,7 @@ class Artist extends React.Component {
|
||||
<div className="actions">
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={this.onPlay}
|
||||
onClick={this.onPlayAll}
|
||||
tracking={{ category: 'Artist', action: 'Play' }}
|
||||
>
|
||||
<I18n path="actions.play" />
|
||||
|
||||
Reference in New Issue
Block a user