Fix external link for artist page if LastFM is missinb but Musicbrainz is not (#2533)

* fix mbz link if lastfm does not exist

* use lastfmUrl field

* fix artist info undefined
This commit is contained in:
Kendall Garner 2023-11-17 00:07:52 +00:00 committed by GitHub
parent 9cefaf66a4
commit 7a858a2db3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 14 deletions

View File

@ -9,19 +9,11 @@ import config from '../config'
const ArtistExternalLinks = ({ artistInfo, record }) => {
const translate = useTranslate()
let links = []
let linkButtons = []
const lastFMlink = artistInfo?.biography?.match(
/<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1/
)
if (lastFMlink) {
links.push(lastFMlink[2])
}
if (artistInfo && artistInfo.musicBrainzId) {
links.push(`https://musicbrainz.org/artist/${artistInfo.musicBrainzId}`)
}
const addLink = (url, title, icon) => {
const translatedTitle = translate(title)
const link = (
@ -38,16 +30,24 @@ const ArtistExternalLinks = ({ artistInfo, record }) => {
}
if (config.lastFMEnabled) {
addLink(
links[0],
'message.openIn.lastfm',
<ImLastfm2 className="lastfm-icon" />
)
if (lastFMlink) {
addLink(
lastFMlink[2],
'message.openIn.lastfm',
<ImLastfm2 className="lastfm-icon" />
)
} else if (artistInfo?.lastFmUrl) {
addLink(
artistInfo?.lastFmUrl,
'message.openIn.lastfm',
<ImLastfm2 className="lastfm-icon" />
)
}
}
artistInfo?.musicBrainzId &&
addLink(
links[1],
`https://musicbrainz.org/artist/${artistInfo.musicBrainzId}`,
'message.openIn.musicbrainz',
<MusicBrainz className="musicbrainz-icon" />
)