Refactor: improve readability

This commit is contained in:
Deluan
2020-05-29 11:21:53 -04:00
parent d8699b03bd
commit 596100b58d
+17 -12
View File
@@ -24,7 +24,13 @@ const useStyles = makeStyles({
}, },
}) })
const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => { const SongContextMenu = ({
resource,
record,
showStar,
onAddToPlaylist,
visible,
}) => {
const classes = useStyles({ visible, starred: record.starred }) const classes = useStyles({ visible, starred: record.starred })
const dispatch = useDispatch() const dispatch = useDispatch()
const translate = useTranslate() const translate = useTranslate()
@@ -68,10 +74,13 @@ const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => {
e.stopPropagation() e.stopPropagation()
} }
const [updateRecord, { loading: updating }] = useUpdate( const [toggleStarred, { loading: updating }] = useUpdate(
'albumSong', resource,
record.id, record.id,
record, {
...record,
starred: !record.starred,
},
{ {
undoable: false, undoable: false,
onFailure: (error) => { onFailure: (error) => {
@@ -82,13 +91,8 @@ const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => {
} }
) )
const toggleStar = (record) => { const handleToggleStar = (e) => {
record.starred = !record.starred toggleStarred()
updateRecord()
}
const handleToggleStar = (e, record) => {
toggleStar(record)
e.stopPropagation() e.stopPropagation()
} }
@@ -98,7 +102,7 @@ const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => {
<span className={classes.noWrap}> <span className={classes.noWrap}>
{config.enableStarred && showStar && ( {config.enableStarred && showStar && (
<IconButton <IconButton
onClick={(e) => handleToggleStar(e, record)} onClick={handleToggleStar}
size={'small'} size={'small'}
disabled={updating} disabled={updating}
className={classes.star} className={classes.star}
@@ -135,6 +139,7 @@ const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => {
} }
SongContextMenu.propTypes = { SongContextMenu.propTypes = {
resource: PropTypes.string,
record: PropTypes.object, record: PropTypes.object,
onAddToPlaylist: PropTypes.func, onAddToPlaylist: PropTypes.func,
visible: PropTypes.bool, visible: PropTypes.bool,