diff --git a/src/AlbumPlayer.tsx b/src/AlbumPlayer.tsx index 9f54957..6b12ab0 100644 --- a/src/AlbumPlayer.tsx +++ b/src/AlbumPlayer.tsx @@ -1,39 +1,33 @@ -import {useEffect, useState} from "react"; +import {useState} from "react"; import hostName from "./Config.ts"; -import {TrackInfo} from "./TrackInfo.tsx"; +import {AlbumInfo} from "./AlbumInfo.ts"; interface AlbumPlayerProps { - albumHash: string + albumHash: string, + albumInfo: AlbumInfo } export default function AlbumPlayer(props: Readonly) { - const [trackNum, setTrackNum] = useState(1) - const [trackInfo, setTrackInfo] = useState() - - useEffect(() => { - if (props.albumHash) { - let fetched = fetch(`${hostName}/track/${props.albumHash}/${trackNum}`) - fetched.then(response => { - if (response.ok) { - response.json().then(body => { - setTrackInfo(body) - } - ) - } - }) - } - }, [props.albumHash, trackNum]) + const [trackNum, setTrackNum] = useState(0) + const [isAlbumOver, setIsAlbumOver] = useState(false) + let album = props.albumInfo function handleNextTrack() { - setTrackNum(trackNum+1) + if(!isAlbumOver && trackNum+1 === props.albumInfo.trackList.length) { + setIsAlbumOver(true) + } else { + setTrackNum(trackNum+1) + } + } - if(props.albumHash) { + if(props.albumHash && album) { + console.log(album) return (
-
{trackInfo?.artist ?? ""} - {trackInfo?.trackTitle ?? ""}
-
+