diff --git a/ui/src/album/AlbumDetails.js b/ui/src/album/AlbumDetails.js
index d2682575e..19ed6102e 100644
--- a/ui/src/album/AlbumDetails.js
+++ b/ui/src/album/AlbumDetails.js
@@ -3,7 +3,7 @@ import { Card, CardContent, CardMedia, Typography } from '@material-ui/core'
import { useTranslate } from 'react-admin'
import subsonic from '../subsonic'
import { DurationField, formatRange } from '../common'
-import { ArtistLinkField } from './ArtistLinkField'
+import { ArtistLinkField } from '../common'
const AlbumDetails = ({ classes, record }) => {
const translate = useTranslate()
diff --git a/ui/src/album/AlbumGridView.js b/ui/src/album/AlbumGridView.js
index 366ee14d2..b6fa35c80 100644
--- a/ui/src/album/AlbumGridView.js
+++ b/ui/src/album/AlbumGridView.js
@@ -6,7 +6,7 @@ import { Link } from 'react-router-dom'
import { linkToRecord, Loading } from 'react-admin'
import { withContentRect } from 'react-measure'
import subsonic from '../subsonic'
-import { ArtistLinkField } from './ArtistLinkField'
+import { ArtistLinkField } from '../common'
import AlbumContextMenu from './AlbumContextMenu.js'
const useStyles = makeStyles((theme) => ({
diff --git a/ui/src/album/AlbumListView.js b/ui/src/album/AlbumListView.js
index 40a7ff396..1816ec3cc 100644
--- a/ui/src/album/AlbumListView.js
+++ b/ui/src/album/AlbumListView.js
@@ -3,13 +3,17 @@ import {
BooleanField,
Datagrid,
DateField,
- FunctionField,
NumberField,
Show,
SimpleShowLayout,
TextField,
} from 'react-admin'
-import { DurationField, RangeField, SimpleList } from '../common'
+import {
+ ArtistLinkField,
+ DurationField,
+ RangeField,
+ SimpleList,
+} from '../common'
import { useMediaQuery } from '@material-ui/core'
import AlbumContextMenu from './AlbumContextMenu'
@@ -46,7 +50,7 @@ const AlbumListView = ({ hasShow, hasEdit, hasList, ...rest }) => {
) : (
} rowClick={'show'} {...rest}>
- r.albumArtist} />
+
{isDesktop && }
{isDesktop && }
diff --git a/ui/src/album/ArtistLinkField.js b/ui/src/album/ArtistLinkField.js
deleted file mode 100644
index 262c1d145..000000000
--- a/ui/src/album/ArtistLinkField.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import { Link } from 'react-admin'
-
-export const ArtistLinkField = ({ record, className }) => {
- const filter = { artist_id: record.albumArtistId }
- const url = `/album?filter=${JSON.stringify(
- filter
- )}&order=ASC&sort=maxYear&displayedFilters={"compilation":true}`
- return (
- e.stopPropagation()} className={className}>
- {record.albumArtist}
-
- )
-}
-
-ArtistLinkField.propTypes = {
- className: PropTypes.string,
- source: PropTypes.string,
-}
-
-ArtistLinkField.defaultProps = {
- source: 'artistId',
- addLabel: true,
-}
diff --git a/ui/src/artist/ArtistList.js b/ui/src/artist/ArtistList.js
index fecd8c61e..3d61dca5b 100644
--- a/ui/src/artist/ArtistList.js
+++ b/ui/src/artist/ArtistList.js
@@ -7,7 +7,7 @@ import {
SearchInput,
TextField,
} from 'react-admin'
-import { Pagination, Title } from '../common'
+import { artistLink, Pagination, Title } from '../common'
const ArtistFilter = (props) => (
@@ -15,13 +15,6 @@ const ArtistFilter = (props) => (
)
-const artistRowClick = (id) => {
- const filter = { artist_id: id }
- return `/album?filter=${JSON.stringify(
- filter
- )}&order=ASC&sort=maxYear&displayedFilters={"compilation":true}`
-}
-
const ArtistList = (props) => (
(
perPage={15}
pagination={}
>
-
+
diff --git a/ui/src/common/ArtistLinkField.js b/ui/src/common/ArtistLinkField.js
new file mode 100644
index 000000000..bdba17124
--- /dev/null
+++ b/ui/src/common/ArtistLinkField.js
@@ -0,0 +1,33 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import { Link } from 'react-admin'
+
+const artistLink = (id) => {
+ return `/album?filter={"artist_id":"${id}"}&order=ASC&sort=maxYear&displayedFilters={"compilation":true}`
+}
+
+const ArtistLinkField = ({ record, className }) => {
+ return (
+ e.stopPropagation()}
+ className={className}
+ >
+ {record.albumArtist}
+
+ )
+}
+
+ArtistLinkField.propTypes = {
+ className: PropTypes.string,
+ source: PropTypes.string,
+}
+
+ArtistLinkField.defaultProps = {
+ source: 'artistId',
+ addLabel: true,
+}
+
+export { artistLink }
+
+export default ArtistLinkField
diff --git a/ui/src/common/index.js b/ui/src/common/index.js
index 382c52353..f54c19543 100644
--- a/ui/src/common/index.js
+++ b/ui/src/common/index.js
@@ -5,6 +5,7 @@ import Pagination from './Pagination'
import PlayButton from './PlayButton'
import SimpleList from './SimpleList'
import RangeField, { formatRange } from './RangeField'
+import ArtistLinkField, { artistLink } from './ArtistLinkField'
import SongDetails from './SongDetails'
import SizeField from './SizeField'
import DocLink from './DocLink'
@@ -21,4 +22,6 @@ export {
SongDetails,
DocLink,
formatRange,
+ ArtistLinkField,
+ artistLink,
}