Cambios en el servidor provocaron cambios en las vistas

Ya no entrega los coverart directamente, ni tampoco los artistas de los
discos, los cambios son temporales y para provar como funciona todo
This commit is contained in:
Daniel Cortes
2020-06-08 19:21:12 -04:00
parent 747f8bec49
commit 2a2bd31464
5 changed files with 28 additions and 11 deletions

View File

@@ -25,7 +25,7 @@ const Discs = (props) => {
{discs.map((disc, index) => { {discs.map((disc, index) => {
return ( return (
<div key={index} className='cover-container' onClick={handleClick(disc)}> <div key={index} className='cover-container' onClick={handleClick(disc)}>
<CoverWithCaption cover_art={disc.cover_art} alt={`Cover art del disco ${disc.title}`} caption={disc.title}/> <CoverWithCaption disc={disc} alt={`Cover art del disco ${disc.title}`} caption={disc.title}/>
</div> </div>
) )
})} })}

View File

@@ -1,21 +1,32 @@
import React, {Fragment, useState} from "react"; import React, {Fragment, useEffect, useState} from "react";
import {ReactComponent as DiscSVG} from "../svg/disc.svg"; import {ReactComponent as DiscSVG} from "../svg/disc.svg";
import {getDiscCoverArt} from "../services/entity_service";
export const CoverArt = (props) => { export const CoverArt = (props) => {
const disc = props.disc
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [coverArt, setCoverArt] = useState(null)
useEffect(() => {
if(disc){
getDiscCoverArt(disc.id).then((result) => {
setCoverArt(result)
})
}
}, [disc])
const handleLoad = () => setLoading(false) const handleLoad = () => setLoading(false)
if (props.cover_art) { if (coverArt) {
if (loading) { if (loading) {
return ( return (
<Fragment> <Fragment>
<img src={props.cover_art.image} className={'coverart loading'} alt={props.alt} onLoad={handleLoad}/> <img src={coverArt.image} className={'coverart loading'} alt={props.alt} onLoad={handleLoad}/>
<div className={'coverart pulsating'}/> <div className={'coverart pulsating'}/>
</Fragment> </Fragment>
) )
} else { } else {
return <img src={props.cover_art.image} className={'coverart'} alt={props.alt}/> return <img src={coverArt.image} className={'coverart'} alt={props.alt}/>
} }
} else { } else {
return <DiscSVG className='coverart'/> return <DiscSVG className='coverart'/>
@@ -26,7 +37,7 @@ export const CoverArt = (props) => {
export const CoverWithCaption = (props) => { export const CoverWithCaption = (props) => {
return( return(
<figure className='cover-caption'> <figure className='cover-caption'>
<CoverArt cover_art={props.cover_art} alt={props.alt}/> <CoverArt disc={props.disc} alt={props.alt}/>
<figcaption>{props.caption}</figcaption> <figcaption>{props.caption}</figcaption>
</figure> </figure>
); );

View File

@@ -12,11 +12,11 @@ const Disc = (props) => {
<div className='space-between'> <div className='space-between'>
<div className='title'> <div className='title'>
<h1>{disc.title}</h1> <h1>{disc.title}</h1>
<h4>{disc.artist[0].name}</h4> {/*<h4>{disc.artist[0].name}</h4>*/}
<button className='button'>Agregar a mi Lista</button> <button className='button'>Agregar a mi Lista</button>
</div> </div>
<div className='cover-container'> <div className='cover-container'>
<CoverArt cover_art={disc.cover_art}/> <CoverArt disc={disc}/>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -85,15 +85,16 @@ const SearchSongs = (props) => {
const SearchDisc = (props) => { const SearchDisc = (props) => {
const disc = props.disc; const disc = props.disc;
return ( return (
<li className='disc'> <li className='disc'>
<Link to={`/disc/${disc.id}`}> <Link to={`/disc/${disc.id}`}>
<div className={'cover-container'}> <div className={'cover-container'}>
<CoverArt cover_art={disc.cover_art} alt={`Cover del disco: ${disc.title}`}/> <CoverArt disc={disc} alt={`Cover del disco: ${disc.title}`}/>
</div> </div>
<div className='description'> <div className='description'>
<span>{disc.title}</span> <span>{disc.title}</span>
<span className='small'>{disc.artist[0].name}</span> {/*<span className='small'>{disc.artist[0].name}</span>*/}
</div> </div>
</Link> </Link>
</li> </li>

View File

@@ -14,7 +14,6 @@ export async function getArtistDiscs(mbid, page = 1, per_page = 10) {
return response.data return response.data
} }
export async function getDisc(mbid) { export async function getDisc(mbid) {
const url = `${baseUrl}/disc/${mbid}`; const url = `${baseUrl}/disc/${mbid}`;
const response = await axios.get(url); const response = await axios.get(url);
@@ -32,3 +31,9 @@ export async function getReleaseSongs(mbid, page = 1, per_page = 50) {
const response = await axios.get(url); const response = await axios.get(url);
return response.data return response.data
} }
export async function getDiscCoverArt(mbid) {
const url = `${baseUrl}/disc/${mbid}/coverart`;
const response = await axios.get(url);
return response.data
}