More optimization for small screens

This commit is contained in:
Deluan
2020-05-23 14:11:39 -04:00
parent 290e8c4bf0
commit c13766bbc3
4 changed files with 29 additions and 18 deletions
+8 -2
View File
@@ -25,7 +25,7 @@ const useStyles = makeStyles({
}, },
}) })
const SongContextMenu = ({ record, onAddToPlaylist, visible }) => { const SongContextMenu = ({ 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()
@@ -89,7 +89,7 @@ const SongContextMenu = ({ record, onAddToPlaylist, visible }) => {
return ( return (
<span className={classes.noWrap}> <span className={classes.noWrap}>
{config.enableStarred && !onAddToPlaylist && ( {config.enableStarred && showStar && (
<IconButton <IconButton
onClick={(e) => handleToggleStar(e, record)} onClick={(e) => handleToggleStar(e, record)}
size={'small'} size={'small'}
@@ -137,6 +137,12 @@ SongContextMenu.propTypes = {
record: PropTypes.object, record: PropTypes.object,
onAddToPlaylist: PropTypes.func, onAddToPlaylist: PropTypes.func,
visible: PropTypes.bool, visible: PropTypes.bool,
showStar: PropTypes.bool,
}
SongContextMenu.defaultProps = {
visible: true,
showStar: true,
} }
export default SongContextMenu export default SongContextMenu
+1 -1
View File
@@ -75,7 +75,7 @@ export const SongDatagrid = ({ multiDisc, contextVisible, ...rest }) => {
} }
/> />
) )
return <Datagrid {...rest} body={<SongDatagridBody />} /> return <Datagrid {...rest} body={<SongDatagridBody />} optimized />
} }
SongDatagrid.propTypes = { SongDatagrid.propTypes = {
+12 -11
View File
@@ -55,6 +55,14 @@ const useStylesListToolbar = makeStyles({
}, },
}) })
const SongsDatagridBody = (props) => (
<DatagridBody {...props} row={<SongDatagridRow contextVisible={true} />} />
)
const SongsDatagrid = ({ contextVisible, ...rest }) => {
return <Datagrid {...rest} body={<SongsDatagridBody />} />
}
const PlaylistSongs = (props) => { const PlaylistSongs = (props) => {
const classes = useStyles(props) const classes = useStyles(props)
const classesToolbar = useStylesListToolbar(props) const classesToolbar = useStylesListToolbar(props)
@@ -79,16 +87,6 @@ const PlaylistSongs = (props) => {
} }
} }
const SongsDatagridBody = (props) => (
<DatagridBody
{...props}
row={<SongDatagridRow contextVisible={isXsmall} />}
/>
)
const SongsDatagrid = (props) => (
<Datagrid {...props} body={<SongsDatagridBody />} />
)
return ( return (
<> <>
<ListToolbar <ListToolbar
@@ -131,7 +129,10 @@ const PlaylistSongs = (props) => {
<TextField source="title" /> <TextField source="title" />
{isDesktop && <TextField source="artist" />} {isDesktop && <TextField source="artist" />}
<DurationField source="duration" /> <DurationField source="duration" />
<SongContextMenu onAddToPlaylist={onAddToPlaylist} /> <SongContextMenu
onAddToPlaylist={onAddToPlaylist}
showStar={false}
/>
</SongsDatagrid> </SongsDatagrid>
)} )}
</Card> </Card>
+4
View File
@@ -70,10 +70,14 @@ const SongList = (props) => {
<FunctionField source="year" render={(r) => r.year || ''} /> <FunctionField source="year" render={(r) => r.year || ''} />
)} )}
<DurationField source="duration" /> <DurationField source="duration" />
{isDesktop ? (
<SongContextMenu <SongContextMenu
label={translate('resources.song.fields.starred')} label={translate('resources.song.fields.starred')}
sortBy={'starred DESC, starredAt ASC'} sortBy={'starred DESC, starredAt ASC'}
/> />
) : (
<SongContextMenu showStar={false} />
)}
</SongDatagrid> </SongDatagrid>
)} )}
</List> </List>