More optimization for small screens
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user