mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-16 12:10:36 +03:00
added grid play button
This commit is contained in:
parent
7ad9c385b5
commit
00666da9c1
@ -6,6 +6,7 @@ import { Link } from 'react-router-dom'
|
||||
import { linkToRecord, Loading } from 'react-admin'
|
||||
import subsonic from '../subsonic'
|
||||
import { ArtistLinkField } from './ArtistLinkField'
|
||||
import GridButton from './GridButton.js'
|
||||
|
||||
const useStyles = makeStyles((theme) => ({
|
||||
root: {
|
||||
@ -80,6 +81,9 @@ const LoadedAlbumGrid = ({ ids, data, basePath, width }) => {
|
||||
</ArtistLinkField>
|
||||
</div>
|
||||
}
|
||||
actionIcon={
|
||||
<GridButton id={id}/>
|
||||
}
|
||||
/>
|
||||
</GridListTile>
|
||||
))}
|
||||
|
43
ui/src/album/GridButton.js
Normal file
43
ui/src/album/GridButton.js
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user