import React, {Fragment, useEffect, useState} from 'react'; import {Link} from "react-router-dom"; import {capitalize, toDuration} from "../services/utils"; import {getRelease, getReleaseSongs} from "../services/entity_service"; import {CoverArt} from "../components/CoverArt"; import {Entity} from "../components/Entity"; import {EntityList} from "../components/EntityList"; const Recordings = (props) => { const recordings = props.recordings ? props.recordings : null; let recordingsComponent = ; if(recordings) { const items = recordings.map((recording) => ({ 'id': recording.id, 'link': props.makeLink(recording.id), 'title': recording.title, 'subtitle': ( {recording.length &&
[{toDuration(recording.length)}]
} {recording.disambiguation &&
{capitalize(recording.disambiguation)}
}
), 'selected': props.selected === recording.id })); recordingsComponent = } return (

Canciones

{recordingsComponent}
) } const Release = (props) => { const release = props.release; if (release){ const subtitle = ( {`${release.artist.name} (${release.date})`} ) return }/> }else { return } } export const ReleaseView = (props) => { const mbid = props.match.params.mbid; const [release, setRelease] = useState(null); const [recordings, setRecordings] = useState(null); const currentRecording = props.location.hash ? props.location.hash.slice(1) : null useEffect(() => { if (mbid) { getRelease(mbid).then((result) => setRelease(result)); getReleaseSongs(mbid).then((result) => { setRecordings(result.medias[0].recordings); }); } }, [mbid]) const makeLink = (recordingID) => { return `/release/${mbid}#${recordingID}`; } const handleNavigateToRecording= (recording) => { props.history.push(makeLink(recording.id)) } return ( {release && } ) }