From 08399c4854169efa678e0b0d4da5fa53ff416963 Mon Sep 17 00:00:00 2001 From: Deluan Date: Thu, 12 Nov 2020 20:51:26 -0500 Subject: [PATCH] Fix some JS console errors --- ui/src/album/AlbumActions.js | 9 ++++++++- ui/src/common/AddToPlaylistButton.js | 1 - ui/src/common/BatchPlayButton.js | 1 - ui/src/common/SongDatagrid.js | 21 +++++++++++++++------ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/ui/src/album/AlbumActions.js b/ui/src/album/AlbumActions.js index 97778cbf3..6f2b0576d 100644 --- a/ui/src/album/AlbumActions.js +++ b/ui/src/album/AlbumActions.js @@ -17,7 +17,14 @@ import { formatBytes } from '../utils' import { useMediaQuery } from '@material-ui/core' import config from '../config' -const AlbumActions = ({ className, ids, data, record, ...rest }) => { +const AlbumActions = ({ + className, + ids, + data, + record, + permanentFilter, + ...rest +}) => { const dispatch = useDispatch() const translate = useTranslate() const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('md')) diff --git a/ui/src/common/AddToPlaylistButton.js b/ui/src/common/AddToPlaylistButton.js index 8115239c3..021bd308a 100644 --- a/ui/src/common/AddToPlaylistButton.js +++ b/ui/src/common/AddToPlaylistButton.js @@ -32,5 +32,4 @@ export const AddToPlaylistButton = ({ resource, selectedIds, className }) => { AddToPlaylistButton.propTypes = { resource: PropTypes.string.isRequired, selectedIds: PropTypes.arrayOf(PropTypes.string).isRequired, - className: PropTypes.object, } diff --git a/ui/src/common/BatchPlayButton.js b/ui/src/common/BatchPlayButton.js index 37f29a017..f3b68f35e 100644 --- a/ui/src/common/BatchPlayButton.js +++ b/ui/src/common/BatchPlayButton.js @@ -58,5 +58,4 @@ BatchPlayButton.propTypes = { action: PropTypes.func.isRequired, label: PropTypes.string.isRequired, icon: PropTypes.object.isRequired, - className: PropTypes.object, } diff --git a/ui/src/common/SongDatagrid.js b/ui/src/common/SongDatagrid.js index 7b780e092..76f5d9995 100644 --- a/ui/src/common/SongDatagrid.js +++ b/ui/src/common/SongDatagrid.js @@ -1,4 +1,10 @@ -import React, { useState, isValidElement, cloneElement, useMemo } from 'react' +import React, { + useState, + isValidElement, + cloneElement, + useMemo, + useCallback, +} from 'react' import { useDispatch } from 'react-redux' import { Datagrid, DatagridBody, DatagridRow } from 'react-admin' import { TableCell, TableRow, Typography } from '@material-ui/core' @@ -106,7 +112,7 @@ export const SongDatagridRow = ({ SongDatagridRow.propTypes = { record: PropTypes.object, children: PropTypes.node, - multiDisc: PropTypes.bool, + firstTracks: PropTypes.instanceOf(Set), contextAlwaysVisible: PropTypes.bool, onClickDiscSubtitle: PropTypes.func, } @@ -123,10 +129,13 @@ export const SongDatagrid = ({ const dispatch = useDispatch() const { ids, data } = rest - const playDisc = (discNumber) => { - const idsToPlay = ids.filter((id) => data[id].discNumber === discNumber) - dispatch(playTracks(data, idsToPlay)) - } + const playDisc = useCallback( + (discNumber) => { + const idsToPlay = ids.filter((id) => data[id].discNumber === discNumber) + dispatch(playTracks(data, idsToPlay)) + }, + [dispatch, data, ids] + ) const firstTracks = useMemo(() => { const set = new Set(