Discover URL as a URI with _ instead of :

This commit is contained in:
James Barnsley
2017-06-15 08:41:55 +12:00
parent ffe790a33b
commit 774ff701a9
3 changed files with 25 additions and 7 deletions

View File

@ -67,13 +67,15 @@ export default class Track extends React.Component{
)
} else if (this.props.context == 'queue'){
var type = (track.added_from ? helpers.uriType(track.added_from) : null)
if (track.added_from && track.added_by){
var added = <span>{track.added_by} <span className="grey-text"> (from <Link to={global.baseURL+type+'/'+track.added_from}>{type}</Link>)</span></span>
} else if (track.added_from){
var added = <span className="grey-text"> (from <Link to={global.baseURL+type+'/'+track.added_from}>{type}</Link>)</span>
var type = (track.added_from ? helpers.uriType(track.added_from) : null)
if (type == 'discover'){
var link = <Link to={global.baseURL+'discover/recommendations/'+helpers.getFromUri('seeds',track.added_from)}>discover</Link>
} else {
var link = <Link to={global.baseURL+type+'/'+track.added_from}>{type}</Link>
}
var added = <span>{track.added_by} <span className="grey-text"> (from {link})</span></span>
} else if (track.added_by){
var added = track.added_by

View File

@ -209,6 +209,12 @@ export let getFromUri = function(element,uri){
return exploded[2]
}
break
case 'seeds':
if (exploded[1] == 'discover'){
return exploded[2]
}
break
}
return null
}
@ -232,6 +238,7 @@ export let uriType = function( uri ){
case 'playlist':
case 'search':
case 'genre':
case 'discover':
return exploded[1]
break

View File

@ -66,7 +66,11 @@ class Discover extends React.Component{
}
handleURLSeeds(seeds_string = this.props.params.seeds){
var seeds = seeds_string.split(',')
// Rejoin if we've had to uri-encode these as strings
// We'd need to do this if our URL has been encoded so the whole URL can become
// it's own URI (eg iris:discover:spotify_artist_1234) where we can't use ":"
var seeds = seeds_string.split('_').join(':').split(',')
for (var i = 0; i < seeds.length; i++){
switch (helpers.uriType(seeds[i])){
@ -198,6 +202,11 @@ class Discover extends React.Component{
}
}
}
var uri = 'iris:discover'
if (this.props.params.seeds){
uri += ':'+this.props.params.seeds.split(':').join('_')
}
return (
<div className="recommendations-results">
@ -211,7 +220,7 @@ class Discover extends React.Component{
</section>
<section className="list-wrapper">
<h4 className="left-padding">Tracks</h4>
{this.props.recommendations.tracks ? <TrackList className="discover-track-list" uri="iris:discover" tracks={this.props.recommendations.tracks} /> : null}
{this.props.recommendations.tracks ? <TrackList className="discover-track-list" uri={uri} tracks={this.props.recommendations.tracks} /> : null}
</section>
</div>
)