added grid play button
This commit is contained in:
committed by
Deluan Quintão
parent
7ad9c385b5
commit
00666da9c1
@@ -6,6 +6,7 @@ import { Link } from 'react-router-dom'
|
|||||||
import { linkToRecord, Loading } from 'react-admin'
|
import { linkToRecord, Loading } from 'react-admin'
|
||||||
import subsonic from '../subsonic'
|
import subsonic from '../subsonic'
|
||||||
import { ArtistLinkField } from './ArtistLinkField'
|
import { ArtistLinkField } from './ArtistLinkField'
|
||||||
|
import GridButton from './GridButton.js'
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
const useStyles = makeStyles((theme) => ({
|
||||||
root: {
|
root: {
|
||||||
@@ -80,6 +81,9 @@ const LoadedAlbumGrid = ({ ids, data, basePath, width }) => {
|
|||||||
</ArtistLinkField>
|
</ArtistLinkField>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
actionIcon={
|
||||||
|
<GridButton id={id}/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</GridListTile>
|
</GridListTile>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
import React, { useCallback } from 'react'
|
||||||
|
import { useDispatch } from 'react-redux'
|
||||||
|
import { playAlbum } from '../audioplayer'
|
||||||
|
import { Loading, useGetList} from 'react-admin'
|
||||||
|
import IconButton from '@material-ui/core/IconButton'
|
||||||
|
import PlayIcon from '@material-ui/icons/PlayCircleFilled'
|
||||||
|
|
||||||
|
const GridButton = (props) => {
|
||||||
|
const dispatch = useDispatch()
|
||||||
|
const { ids, data, loading, error } = useGetList(
|
||||||
|
'albumSong',
|
||||||
|
{ },
|
||||||
|
{ field: 'trackNumber', order: 'ASC' },
|
||||||
|
{ album_id: props.id},
|
||||||
|
)
|
||||||
|
|
||||||
|
if (loading) {
|
||||||
|
return (
|
||||||
|
<IconButton>
|
||||||
|
<PlayIcon/>
|
||||||
|
</IconButton>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
return (
|
||||||
|
<IconButton>
|
||||||
|
<PlayIcon/>
|
||||||
|
</IconButton>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<IconButton onClick={(e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
dispatch(playAlbum(ids[0], data))
|
||||||
|
}}>
|
||||||
|
<PlayIcon/>
|
||||||
|
</IconButton>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default GridButton
|
||||||
Reference in New Issue
Block a user