loadUris to handle type-agnostic URIs

This commit is contained in:
James Barnsley
2021-01-17 20:55:15 +13:00
parent b0d14561fd
commit 499a4800b0
12 changed files with 253 additions and 33 deletions

View File

@ -83,13 +83,13 @@ class Queue extends React.Component {
}) => {
const {
coreActions: {
loadItem,
loadUri,
},
added_from_uri,
} = this.props;
if (added_from_uri && added_from_uri !== prev_added_from_uri) {
loadItem(added_from_uri, { full: false });
loadUri(added_from_uri);
}
}

View File

@ -14,14 +14,14 @@ class UriRedirect extends React.Component {
uri,
item,
coreActions: {
loadItem,
loadUri,
},
} = this.props;
if (item) {
this.redirect();
} else {
loadItem(uri);
loadUri(uri);
}
this.setWindowTitle();
@ -34,12 +34,12 @@ class UriRedirect extends React.Component {
uri,
item,
coreActions: {
loadItem,
loadUri,
},
} = this.props;
if (prevUri !== uri) {
loadItem(uri);
loadUri(uri);
this.setWindowTitle();
}

View File

@ -213,7 +213,7 @@ class Discover extends React.Component {
handleURLSeeds = () => {
const {
coreActions: {
loadItems,
loadUris,
},
match: {
params: {
@ -226,7 +226,7 @@ class Discover extends React.Component {
// 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 ":"
const seeds = seedsProp.split('_').join(':').split(',');
loadItems(seeds);
loadUris(seeds);
this.setState(
{ seeds },

View File

@ -121,15 +121,16 @@ class AddToQueue extends React.Component {
uris: prevUris = [],
},
coreActions: {
loadItem,
loadUri,
viewDataLoaded,
},
} = this.props;
const uris = text.split(',');
// TODO: Remove validation
const validatedUris = uris.filter((uri) => uriType(uri));
validatedUris.forEach((uri) => {
loadItem(uri);
loadUri(uri);
});
this.setState({ text: '' });

View File

@ -136,7 +136,7 @@ class EditRadio extends React.Component {
} = this.state;
const {
coreActions: {
loadItem,
loadUri,
},
} = this.props;
@ -165,7 +165,7 @@ class EditRadio extends React.Component {
this.setState({ error_message: i18n('modal.edit_radio.too_many_seeds') });
} else {
validatedSeeds.push(uris[i]);
loadItem(uris[i]);
loadUri(uris[i]);
}
}