import React from 'react' import { Filter, FunctionField, NumberField, SearchInput, TextField, } from 'react-admin' import { useMediaQuery } from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import StarBorderIcon from '@material-ui/icons/StarBorder' import StarIcon from '@material-ui/icons/Star' import { DurationField, List, SimpleList, SongContextMenu, SongDatagrid, SongDetails, QuickFilter, SongTitleField, } from '../common' import { useDispatch } from 'react-redux' import { setTrack } from '../audioplayer' import { SongBulkActions } from './SongBulkActions' import { AlbumLinkField } from './AlbumLinkField' import AddToPlaylistDialog from '../dialogs/AddToPlaylistDialog' const useStyles = makeStyles({ columnIcon: { marginLeft: '3px', marginTop: '-2px', verticalAlign: 'text-top', }, }) const SongFilter = (props) => ( } defaultValue={true} /> ) const SongList = (props) => { const classes = useStyles() const dispatch = useDispatch() const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs')) const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('md')) const handleRowClick = (id, basePath, record) => { dispatch(setTrack(record)) } return ( <> } filters={} perPage={isXsmall ? 50 : 15} > {isXsmall ? ( r.title} secondaryText={(r) => r.artist} tertiaryText={(r) => ( <>     )} linkType={(id, basePath, record) => dispatch(setTrack(record))} rightIcon={(r) => } /> ) : ( } rowClick={handleRowClick} contextAlwaysVisible={!isDesktop} > {isDesktop && } {isDesktop && } {isDesktop && ( )} {isDesktop && ( r.year || ''} sortByOrder={'DESC'} /> )} } /> )} ) } export default SongList