Issue #16: Grid en Disc
This commit is contained in:
@@ -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}/>);
|
||||||
'link': `/release/${version.id}`,
|
const subtitle = (
|
||||||
'title': version.title,
|
<Grid>
|
||||||
'subtitle': <Fragment>
|
<RowCol><span>{version.date}</span></RowCol>
|
||||||
<div>{version.date}</div>
|
<RowCol><span>{version.country}</span></RowCol>
|
||||||
<div>{version.country}</div>
|
<RowCol><span>{capitalize(version.disambiguation)}</span></RowCol>
|
||||||
<div>{capitalize(version.disambiguation)}</div>
|
</Grid>
|
||||||
</Fragment>
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
'cover': cover,
|
||||||
|
'link': `/release/${version.id}`,
|
||||||
|
'title': version.title,
|
||||||
|
'subtitle': subtitle
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
}));
|
|
||||||
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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user