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:
@@ -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>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user