Grid en artist

This commit is contained in:
Daniel Cortes
2020-06-19 16:31:29 -04:00
parent 8ed4ad16e1
commit 326f8227b5
3 changed files with 41 additions and 19 deletions

View File

@@ -23,6 +23,10 @@ const Comment = (props) => (
)
export const Comments = (props) => {
if(!props.render) {
return null;
}
let comentarios = [];
let comment_count = Math.floor(Math.random() * 20)

View File

@@ -2,10 +2,15 @@ import React from 'react';
import './Grid.scss';
export const RowCol = (props) => {
return <Row><Col>{props.children}</Col></Row>
}
export const Col = (props) => {
return <div className="col">{props.children}</div>
}
export const Row = (props) => {
return <div className="row">{props.children}</div>
}

View File

@@ -1,4 +1,4 @@
import React, {Fragment, useEffect, useState} from 'react'
import React, {useEffect, useState} from 'react'
import queryString from "query-string";
import {getArtist, getArtistDiscs} from "../services/entity_service";
@@ -8,12 +8,17 @@ import {Paginate} from "../components/Paginate";
import {EntityList} from "../components/EntityList";
import {Entity} from "../components/Entity";
import {Comments} from "../components/Comments";
import {Grid, RowCol} from '../components/Grid';
const Discs = (props) => {
const discs = props.discs ? props.discs : null;
const paginate = props.paginate ? props.paginate : null;
if (!props.render) {
return null;
}
const handlePageChanged = (page) => {
props.onPageChanged(page);
}
@@ -21,12 +26,15 @@ const Discs = (props) => {
let discsComponent = <EntityList placeholder={true} size={16} cover={true} grid={true}/>;
if (discs) {
if(discs.length > 0){
const items = discs.map((disc) => ({
'cover': <CoverArt disc={disc} size={3}/>,
'link': `/disc/${disc.id}`,
'title': disc.title,
'subtitle': disc.artist.name
}));
const items = discs.map((disc) => {
const cover = <CoverArt disc={disc} size={3}/>;
return {
'cover': cover,
'link': `/disc/${disc.id}`,
'title': disc.title,
'subtitle': disc.artist.name
}
});
const list = [{
'items': items
}]
@@ -47,13 +55,14 @@ const Discs = (props) => {
onPageChanged={handlePageChanged} makeLink={props.makeLink}/>
}
return (
<div className='discs'>
<h2>Discos</h2>
{discsComponent}
{paginateContent}
</div>
);
<Grid>
<RowCol><h2>Discos</h2></RowCol>
<RowCol>{discsComponent}</RowCol>
<RowCol>{paginateContent}</RowCol>
</Grid>
)
}
const Artist = (props) => {
@@ -63,7 +72,7 @@ const Artist = (props) => {
subtitle={[artist.type, artist.country].filter(Boolean).join(' - ')}
tags={artist.tags.map((tag) => (tag.name))}/>
}else {
return <Fragment/>
return null;
}
}
@@ -109,10 +118,14 @@ export const ArtistView = (props) => {
return (
<div className='artist-view'>
<Artist artist={artist}/>
{artist && <Discs discs={discs} paginate={discsPaginate} onPageChanged={handleDiscPageChanged} makeLink={makeLink} navigateToDisc={handleNavigateToDisc}/>}
<Comments/>
</div>
<Grid>
<RowCol><Artist artist={artist}/></RowCol>
<RowCol>
<Discs render={artist} discs={discs} paginate={discsPaginate}
onPageChanged={handleDiscPageChanged} makeLink={makeLink}
navigateToDisc={handleNavigateToDisc}/>
</RowCol>
<RowCol><Comments render={artist}/></RowCol>
</Grid>
);
}