Issue #16: Grid en Disc

This commit is contained in:
Daniel Cortes
2020-06-19 16:40:32 -04:00
parent 326f8227b5
commit 9766f3781a

View File

@@ -5,6 +5,7 @@ import queryString from "query-string";
import {capitalize} from "../services/utils"; import {capitalize} from "../services/utils";
import {getDisc, getDiscVersions} from "../services/entity_service"; import {getDisc, getDiscVersions} from "../services/entity_service";
import {Grid, RowCol} from '../components/Grid';
import {CoverArt} from "../components/CoverArt"; import {CoverArt} from "../components/CoverArt";
import {Entity} from "../components/Entity"; import {Entity} from "../components/Entity";
import {EntityList} from "../components/EntityList"; import {EntityList} from "../components/EntityList";
@@ -15,23 +16,34 @@ const Versions = (props) => {
const versions = props.versions ? props.versions : null; const versions = props.versions ? props.versions : null;
const paginate = props.paginate ? props.paginate : null; const paginate = props.paginate ? props.paginate : null;
if (!props.render) {
return null;
}
const handlePageChanged = (page) => { const handlePageChanged = (page) => {
props.onPageChanged(page); props.onPageChanged(page);
} }
let versionsComponent = <EntityList placeholder={true} size={10} cover={true}/>; let versionsComponent = <EntityList placeholder={true} size={10} cover={true}/>;
if(versions) { if(versions) {
const items = versions.map((version) => ({ const items = versions.map((version) => {
'cover': <CoverArt release={version} size={2}/>, const cover = (<CoverArt release={version} size={2}/>);
const subtitle = (
<Grid>
<RowCol><span>{version.date}</span></RowCol>
<RowCol><span>{version.country}</span></RowCol>
<RowCol><span>{capitalize(version.disambiguation)}</span></RowCol>
</Grid>
);
return {
'cover': cover,
'link': `/release/${version.id}`, 'link': `/release/${version.id}`,
'title': version.title, 'title': version.title,
'subtitle': <Fragment> 'subtitle': subtitle
<div>{version.date}</div> };
<div>{version.country}</div> });
<div>{capitalize(version.disambiguation)}</div>
</Fragment>
}));
const list = [{ const list = [{
'items': items 'items': items
}]; }];
@@ -50,11 +62,11 @@ const Versions = (props) => {
} }
return ( return (
<Fragment> <Grid>
<h2>Versiones</h2> <RowCol><h2>Versiones</h2></RowCol>
{versionsComponent} <RowCol>{versionsComponent}</RowCol>
{paginateContent} <RowCol>{paginateContent}</RowCol>
</Fragment> </Grid>
) )
} }
@@ -108,14 +120,14 @@ export const DiscView = (props) => {
} }
return ( return (
<Fragment> <Grid>
<Disc disc={disc}/> <RowCol><Disc disc={disc}/></RowCol>
{disc && <RowCol>
<Versions versions={versions} paginate={versionsPaginate} <Versions render={disc} versions={versions} paginate={versionsPaginate}
onPageChanged={handleVersionPageChanged} makeLink={makeLink} onPageChanged={handleVersionPageChanged} makeLink={makeLink}
navigateToVersion={handleNavigateToVersion}/> navigateToVersion={handleNavigateToVersion}/>
} </RowCol>
<Comments/> <RowCol><Comments render={disc}/></RowCol>
</Fragment> </Grid>
) )
} }