diff --git a/ui/src/album/AlbumGridView.js b/ui/src/album/AlbumGridView.js index 04ac4bf7..8f6425e0 100644 --- a/ui/src/album/AlbumGridView.js +++ b/ui/src/album/AlbumGridView.js @@ -1,5 +1,10 @@ -import React from 'react' -import { GridList, GridListTile, GridListTileBar } from '@material-ui/core' +import React, { useState } from 'react' +import { + GridList, + GridListTile, + GridListTileBar, + useMediaQuery, +} from '@material-ui/core' import { makeStyles } from '@material-ui/core/styles' import withWidth from '@material-ui/core/withWidth' import { Link } from 'react-router-dom' @@ -15,6 +20,7 @@ const useStyles = makeStyles((theme) => ({ }, tileBar: { textAlign: 'left', + marginBottom: '3px', background: 'linear-gradient(to top, rgba(0,0,0,1) 0%,rgba(0,0,0,0.4) 70%,rgba(0,0,0,0) 100%)', }, @@ -65,37 +71,58 @@ const Cover = withContentRect('bounds')( } ) +const AlbumGridTile = ({ record }) => { + const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('md')) + const classes = useStyles() + const [visible, setVisible] = useState(false) + + return ( +
{ + setVisible(true) + }} + onMouseLeave={() => { + setVisible(false) + }} + > + + {(!isDesktop || visible) && ( + + + {record.albumArtist} + +
+ } + actionIcon={} + /> + )} + + ) +} + const LoadedAlbumGrid = ({ ids, data, basePath, width }) => { const classes = useStyles() return (
- + {ids.map((id) => ( - - - - {data[id].albumArtist} - -
- } - actionIcon={ - - } - /> + ))} diff --git a/ui/src/album/AlbumListView.js b/ui/src/album/AlbumListView.js index c28ac05d..253875c1 100644 --- a/ui/src/album/AlbumListView.js +++ b/ui/src/album/AlbumListView.js @@ -50,7 +50,6 @@ const AlbumDatagridRow = ({ children, ...rest }) => { ? child : cloneElement(child, { visible, - ...rest, })) )}