import React, { cloneElement, isValidElement, useState } from 'react' import { Datagrid, DatagridBody, DatagridRow, Filter, NumberField, SearchInput, TextField, } from 'react-admin' import { useMediaQuery, withWidth } from '@material-ui/core' import StarIcon from '@material-ui/icons/Star' import AddToPlaylistDialog from '../dialogs/AddToPlaylistDialog' import { ArtistContextMenu, List, QuickFilter, SimpleList, useGetHandleArtistClick, } from '../common' const ArtistFilter = (props) => ( } defaultValue={true} /> ) const ArtistDatagridRow = ({ children, ...rest }) => { const [visible, setVisible] = useState(false) const childCount = React.Children.count(children) return ( setVisible(true)} onMouseLeave={() => setVisible(false)} {...rest} > {React.Children.map( children, (child, index) => child && isValidElement(child) && (index < childCount - 1 ? child : cloneElement(child, { visible, })) )} ) } const ArtistDatagridBody = (props) => ( } /> ) const ArtistDatagrid = (props) => ( } /> ) const ArtistList = ({ width, ...rest }) => { const handleArtistLink = useGetHandleArtistClick(width) const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs')) return ( <> } > {isXsmall ? ( r.name} linkType={'show'} rightIcon={(r) => } {...rest} /> ) : ( )} ) } export default withWidth()(ArtistList)