quintodrome/ui/src/common/CoverArtAvatar.jsx

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
931 B
React
Raw Normal View History

import { useRecordContext } from 'react-admin'
import { Avatar } from '@material-ui/core'
import { makeStyles } from '@material-ui/core/styles'
import clsx from 'clsx'
import { COVER_ART_SIZE } from '../consts'
import subsonic from '../subsonic'
const useStyles = makeStyles({
avatar: {
width: '55px',
height: '55px',
},
square: {
borderRadius: '4px',
},
})
export const CoverArtAvatar = ({
record: recordProp,
variant = 'circular',
}) => {
const classes = useStyles()
const recordContext = useRecordContext()
const record = recordProp || recordContext
if (!record) return null
const square = variant !== 'circular'
return (
<Avatar
src={subsonic.getCoverArtUrl(record, COVER_ART_SIZE, square)}
variant={variant}
className={clsx(classes.avatar, square && classes.square)}
alt={record.name}
/>
)
}
CoverArtAvatar.defaultProps = { label: '', sortable: false }