diff --git a/ui/src/album/AlbumDetails.js b/ui/src/album/AlbumDetails.js
index 92243bb9..237c3134 100644
--- a/ui/src/album/AlbumDetails.js
+++ b/ui/src/album/AlbumDetails.js
@@ -4,8 +4,6 @@ import {
CardContent,
CardMedia,
Collapse,
- IconButton,
- Tooltip,
makeStyles,
Typography,
useMediaQuery,
@@ -31,9 +29,7 @@ import {
} from '../common'
import config from '../config'
import { intersperse } from '../utils'
-import Link from '@material-ui/core/Link'
-import MusicBrainz from '../icons/MusicBrainz'
-import { ImLastfm2 } from 'react-icons/im'
+import AlbumExternalLinks from './AlbumExternalLinks'
const useStyles = makeStyles(
(theme) => ({
@@ -100,7 +96,7 @@ const useStyles = makeStyles(
genreList: {
marginTop: theme.spacing(0.5),
},
- links: {
+ externalLinks: {
marginTop: theme.spacing(1.5),
},
}),
@@ -182,58 +178,6 @@ const Details = (props) => {
return <>{intersperse(details, ' ยท ')}>
}
-const Links = (props) => {
- const classes = useStyles()
- const translate = useTranslate()
- const record = useRecordContext(props)
- let links = []
- const addLink = (obj) => {
- const id = links.length
- links.push({obj})
- }
-
- addLink(
-
-
-
-
-
-
-
- )
-
- record.mbzAlbumId &&
- addLink(
-
-
-
-
-
-
-
- )
-
- return
{intersperse(links, ' ')}
-}
-
const AlbumDetails = (props) => {
const record = useRecordContext(props)
const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('lg'))
@@ -302,7 +246,7 @@ const AlbumDetails = (props) => {
)}
{isDesktop && (
-
+
)}
{isDesktop && record['comment'] && }
diff --git a/ui/src/album/AlbumExternalLinks.js b/ui/src/album/AlbumExternalLinks.js
new file mode 100644
index 00000000..1d964c9a
--- /dev/null
+++ b/ui/src/album/AlbumExternalLinks.js
@@ -0,0 +1,49 @@
+import React from 'react'
+import { useRecordContext, useTranslate } from 'react-admin'
+import { IconButton, Tooltip, Link } from '@material-ui/core'
+import { ImLastfm2 } from 'react-icons/im'
+import MusicBrainz from '../icons/MusicBrainz'
+import { intersperse } from '../utils'
+
+const AlbumExternalLinks = (props) => {
+ const { className } = props
+ const translate = useTranslate()
+ const record = useRecordContext(props)
+ let links = []
+
+ const addLink = (url, title, icon) => {
+ const translatedTitle = translate(title)
+ const link = (
+
+
+
+ {icon}
+
+
+
+ )
+ const id = links.length
+ links.push({link})
+ }
+
+ addLink(
+ `https://last.fm/music/${
+ encodeURIComponent(record.albumArtist) +
+ '/' +
+ encodeURIComponent(record.name)
+ }`,
+ 'message.openIn.lastfm',
+
+ )
+
+ record.mbzAlbumId &&
+ addLink(
+ `https://musicbrainz.org/release/${record.mbzAlbumId}`,
+ 'message.openIn.musicbrainz',
+
+ )
+
+ return {intersperse(links, ' ')}
+}
+
+export default AlbumExternalLinks