diff --git a/ui/src/album/AlbumShow.js b/ui/src/album/AlbumShow.js
index d1e9ff0fe..841a0f431 100644
--- a/ui/src/album/AlbumShow.js
+++ b/ui/src/album/AlbumShow.js
@@ -3,7 +3,7 @@ import { useGetOne } from 'react-admin'
import AlbumDetails from './AlbumDetails'
import { Title } from '../common'
import { useStyles } from './styles'
-import { AlbumSongBulkActions } from './AlbumSongBulkActions'
+import { SongBulkActions } from '../common'
import AlbumActions from './AlbumActions'
import AlbumSongs from './AlbumSongs'
@@ -33,7 +33,7 @@ const AlbumShow = (props) => {
perPage={0}
pagination={null}
sort={{ field: 'discNumber asc, trackNumber asc', order: 'ASC' }}
- bulkActionButtons={}
+ bulkActionButtons={}
/>
>
)
diff --git a/ui/src/song/AddToPlaylistButton.js b/ui/src/common/AddToPlaylistButton.js
similarity index 100%
rename from ui/src/song/AddToPlaylistButton.js
rename to ui/src/common/AddToPlaylistButton.js
diff --git a/ui/src/common/BatchPlayButton.js b/ui/src/common/BatchPlayButton.js
index 52aae0e7f..9b65d2c7d 100644
--- a/ui/src/common/BatchPlayButton.js
+++ b/ui/src/common/BatchPlayButton.js
@@ -1,4 +1,5 @@
import React from 'react'
+import PropTypes from 'prop-types'
import {
Button,
useDataProvider,
@@ -7,8 +8,6 @@ import {
useNotify,
} from 'react-admin'
import { useDispatch } from 'react-redux'
-import { addTracks } from '../audioplayer'
-import { RiPlayListAddFill } from 'react-icons/ri'
const BatchPlayButton = ({ resource, selectedIds, action, label, icon }) => {
const dispatch = useDispatch()
@@ -42,10 +41,10 @@ const BatchPlayButton = ({ resource, selectedIds, action, label, icon }) => {
)
}
-BatchPlayButton.defaultProps = {
- action: addTracks,
- label: 'resources.song.actions.addToQueue',
- icon: ,
+BatchPlayButton.propTypes = {
+ action: PropTypes.func.isRequired,
+ label: PropTypes.string.isRequired,
+ icon: PropTypes.object.isRequired,
}
export default BatchPlayButton
diff --git a/ui/src/album/AlbumSongBulkActions.js b/ui/src/common/SongBulkActions.js
similarity index 57%
rename from ui/src/album/AlbumSongBulkActions.js
rename to ui/src/common/SongBulkActions.js
index fd3d3d1a6..b06b36aeb 100644
--- a/ui/src/album/AlbumSongBulkActions.js
+++ b/ui/src/common/SongBulkActions.js
@@ -1,15 +1,15 @@
import React, { Fragment, useEffect } from 'react'
import { useUnselectAll } from 'react-admin'
-import { playNext, playTracks } from '../audioplayer'
-import { RiPlayList2Fill } from 'react-icons/ri'
+import { addTracks, playNext, playTracks } from '../audioplayer'
+import { RiPlayList2Fill, RiPlayListAddFill } from 'react-icons/ri'
import PlayArrowIcon from '@material-ui/icons/PlayArrow'
-import { BatchPlayButton } from '../common'
-import AddToPlaylistButton from '../song/AddToPlaylistButton'
+import { BatchPlayButton } from './index'
+import AddToPlaylistButton from './AddToPlaylistButton'
-export const AlbumSongBulkActions = (props) => {
+const SongBulkActions = (props) => {
const unselectAll = useUnselectAll()
useEffect(() => {
- unselectAll('albumSong')
+ unselectAll(props.resource)
// eslint-disable-next-line
}, [])
return (
@@ -26,8 +26,15 @@ export const AlbumSongBulkActions = (props) => {
label={'resources.song.actions.playNext'}
icon={}
/>
-
+ }
+ />
)
}
+
+export default SongBulkActions
diff --git a/ui/src/common/index.js b/ui/src/common/index.js
index 4e6535204..1bba50b92 100644
--- a/ui/src/common/index.js
+++ b/ui/src/common/index.js
@@ -4,6 +4,8 @@ import BitrateField from './BitrateField'
import Pagination from './Pagination'
import PlayButton from './PlayButton'
import BatchPlayButton from './BatchPlayButton'
+import SongBulkActions from './SongBulkActions'
+import AddToPlaylistButton from './AddToPlaylistButton'
import SimpleList from './SimpleList'
import RangeField, { formatRange } from './RangeField'
import ArtistLinkField, { useGetHandleArtistClick } from './ArtistLinkField'
@@ -29,6 +31,8 @@ export {
List,
PlayButton,
BatchPlayButton,
+ SongBulkActions,
+ AddToPlaylistButton,
SimpleList,
RangeField,
SongDetails,
diff --git a/ui/src/song/SongBulkActions.js b/ui/src/song/SongBulkActions.js
deleted file mode 100644
index 1da9caf0b..000000000
--- a/ui/src/song/SongBulkActions.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React, { Fragment } from 'react'
-import { BatchPlayButton } from '../common'
-import AddToPlaylistButton from './AddToPlaylistButton'
-import { RiPlayList2Fill } from 'react-icons/ri'
-import { playNext } from '../audioplayer'
-
-export const SongBulkActions = (props) => {
- return (
-
- }
- />
-
-
-
- )
-}
diff --git a/ui/src/song/SongList.js b/ui/src/song/SongList.js
index d6b0822cc..6b832d274 100644
--- a/ui/src/song/SongList.js
+++ b/ui/src/song/SongList.js
@@ -20,7 +20,7 @@ import {
} from '../common'
import { useDispatch } from 'react-redux'
import { setTrack } from '../audioplayer'
-import { SongBulkActions } from './SongBulkActions'
+import { SongBulkActions } from '../common'
import { SongListActions } from './SongListActions'
import { AlbumLinkField } from './AlbumLinkField'
import AddToPlaylistDialog from '../dialogs/AddToPlaylistDialog'