diff --git a/src/components/Album.tsx b/src/components/Album.tsx
index 95e508a..f5bd0f3 100644
--- a/src/components/Album.tsx
+++ b/src/components/Album.tsx
@@ -1,6 +1,6 @@
import { useEffect, useState } from 'react'
-import { getDownloadUrl, getTracks } from 'utils/search'
+import { getCors, getDownloadUrl, getTracks } from 'utils/search'
import type { AlbumRow, TrackRow } from 'utils/types'
import Loader from './Loader'
import ClipboardBtn from './ClipboardBtn'
@@ -15,6 +15,7 @@ export default function Album(props: { album: AlbumRow; lastReqRef: React.RefObj
{album.name}
+
@@ -59,7 +60,7 @@ function TrackList(props: { url: string; open: boolean; lastReqRef: React.RefObj
{t.name}
FLAC/MP3
-
+
))}
@@ -68,27 +69,43 @@ function TrackList(props: { url: string; open: boolean; lastReqRef: React.RefObj
)
}
-function TrackDownload(props: { url: string; lastReqRef: React.RefObject }) {
- const { url, lastReqRef } = props
+function TrackDownload(props: { track: TrackRow; lastReqRef: React.RefObject }) {
+ const { track, lastReqRef } = props
const [downloadUrl, setDownloadUrl] = useState()
const [loading, setLoading] = useState(false)
async function fetchUrl() {
try {
setLoading(true)
- const dlUrl = await getDownloadUrl(url, lastReqRef)
+ const dlUrl = getCors(await getDownloadUrl(track.url, lastReqRef))
+
setDownloadUrl(dlUrl)
+ downloadTrack(dlUrl)
} finally {
setLoading(false)
}
}
- return downloadUrl ? (
-
- Download
-
- ) : (
-