EntityList en pagina de artista
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import React, {useEffect, useState} from 'react'
|
||||
import React, {Fragment, useEffect, useState} from 'react'
|
||||
import {getArtist, getArtistDiscs} from "../services/entity_service";
|
||||
import {CoverWithCaption} from './CoverArt';
|
||||
import {CoverArt} from './CoverArt';
|
||||
import {Paginate} from "./Paginate";
|
||||
import {EntityList} from "./EntityList";
|
||||
import queryString from "query-string";
|
||||
|
||||
|
||||
@@ -13,30 +14,15 @@ const Discs = (props) => {
|
||||
props.onPageChanged(page);
|
||||
}
|
||||
|
||||
const handleClick = (disc) => (evt) => {
|
||||
evt.preventDefault();
|
||||
props.navigateToDisc(disc);
|
||||
}
|
||||
|
||||
let discContent;
|
||||
let discsComponent = <Fragment/>;
|
||||
if (discs) {
|
||||
discContent = (
|
||||
<ul className="discs-list">
|
||||
{discs.map((disc, index) => {
|
||||
return (
|
||||
<div key={index} className='cover-container' onClick={handleClick(disc)}>
|
||||
<CoverWithCaption disc={disc} alt={`Cover art del disco ${disc.title}`} caption={disc.title}/>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</ul>
|
||||
);
|
||||
} else {
|
||||
discContent = (
|
||||
<ul className="discs-list">
|
||||
{[...Array(16)].map((p, index) => (<div key={index} className='cover-container pulsating'/>))}
|
||||
</ul>
|
||||
);
|
||||
const items = discs.map((disc) => ({
|
||||
'cover': <CoverArt disc={disc}/>,
|
||||
'link': `/disc/${disc.id}`,
|
||||
'title': disc.title,
|
||||
'subtitle': disc.artist.name
|
||||
}));
|
||||
discsComponent = <EntityList items={items} grid={true}/>
|
||||
}
|
||||
|
||||
let paginateContent;
|
||||
@@ -45,13 +31,15 @@ const Discs = (props) => {
|
||||
const currentPage = paginate.current_page;
|
||||
const pageLimit = paginate.per_page;
|
||||
|
||||
paginateContent = <Paginate totalRecords={total} pageLimit={pageLimit} currentPage={currentPage} pageNeighbours={2} onPageChanged={handlePageChanged} makeLink={props.makeLink}/>
|
||||
paginateContent = <Paginate totalRecords={total} pageLimit={pageLimit}
|
||||
currentPage={currentPage} pageNeighbours={2}
|
||||
onPageChanged={handlePageChanged} makeLink={props.makeLink}/>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='discs'>
|
||||
<h2>Discos</h2>
|
||||
{discContent}
|
||||
{discsComponent}
|
||||
{paginateContent}
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user