diff --git a/ui/src/App.js b/ui/src/App.js
index e3f12e730..ca39a1d75 100644
--- a/ui/src/App.js
+++ b/ui/src/App.js
@@ -43,6 +43,7 @@ const App = () => {
,
,
,
+ ,
permissions === 'admin' ? : null,
]}
diff --git a/ui/src/album/AlbumShow.js b/ui/src/album/AlbumShow.js
index 095158e80..24db0df4c 100644
--- a/ui/src/album/AlbumShow.js
+++ b/ui/src/album/AlbumShow.js
@@ -10,8 +10,8 @@ import {
import AlbumDetails from './AlbumDetails'
import { DurationField, Title } from '../common'
import { useStyles } from './styles'
-import { SongBulkActions } from '../song/SongBulkActions'
import { AlbumActions } from './AlbumActions'
+import { AlbumSongBulkActions } from './AlbumSongBulkActions'
import { useMediaQuery } from '@material-ui/core'
import { setTrack } from '../player'
import { useDispatch } from 'react-redux'
@@ -46,13 +46,12 @@ const AlbumShow = (props) => {
title={
}
actions={}
filter={{ album_id: props.id }}
- resource={'song'}
+ resource={'albumSong'}
exporter={false}
- basePath={'/song'}
perPage={1000}
pagination={null}
sort={{ field: 'discNumber asc, trackNumber asc', order: 'ASC' }}
- bulkActionButtons={}
+ bulkActionButtons={}
>
dispatch(setTrack(record))}
diff --git a/ui/src/album/AlbumSongBulkActions.js b/ui/src/album/AlbumSongBulkActions.js
new file mode 100644
index 000000000..2c7181d76
--- /dev/null
+++ b/ui/src/album/AlbumSongBulkActions.js
@@ -0,0 +1,16 @@
+import React, { Fragment, useEffect } from 'react'
+import { useUnselectAll } from 'react-admin'
+import AddToQueueButton from '../song/AddToQueueButton'
+
+export const AlbumSongBulkActions = (props) => {
+ const unselectAll = useUnselectAll()
+ useEffect(() => {
+ unselectAll('albumSong')
+ // eslint-disable-next-line
+ }, [])
+ return (
+
+
+
+ )
+}
diff --git a/ui/src/dataProvider.js b/ui/src/dataProvider.js
index 4b0280a04..a37dee89d 100644
--- a/ui/src/dataProvider.js
+++ b/ui/src/dataProvider.js
@@ -1,7 +1,10 @@
import { fetchUtils } from 'react-admin'
import jsonServerProvider from 'ra-data-json-server'
+const baseUrl = '/app/api'
+
const httpClient = (url, options = {}) => {
+ url = url.replace(baseUrl + '/albumSong', baseUrl + '/song')
if (!options.headers) {
options.headers = new Headers({ Accept: 'application/json' })
}
@@ -19,6 +22,6 @@ const httpClient = (url, options = {}) => {
})
}
-const dataProvider = jsonServerProvider('/app/api', httpClient)
+const dataProvider = jsonServerProvider(baseUrl, httpClient)
export default dataProvider
diff --git a/ui/src/song/SongBulkActions.js b/ui/src/song/SongBulkActions.js
index 95ae36cf9..8a882d7ea 100644
--- a/ui/src/song/SongBulkActions.js
+++ b/ui/src/song/SongBulkActions.js
@@ -1,13 +1,7 @@
import React, { Fragment, useEffect } from 'react'
-import { useUnselectAll } from 'react-admin'
import AddToQueueButton from './AddToQueueButton'
export const SongBulkActions = (props) => {
- const unselectAll = useUnselectAll()
- useEffect(() => {
- console.log('UNSELECT!')
- unselectAll('song')
- }, [])
return (