Add baseUrl support

This commit is contained in:
wvffle 2022-09-26 18:22:27 +00:00
parent 2e3d517207
commit 132974959b
1 changed files with 12 additions and 4 deletions

View File

@ -20,6 +20,7 @@
// Params // Params
const params = new URL(location.href).searchParams const params = new URL(location.href).searchParams
const baseUrl = params.get('b') ?? params.get('instance') ?? ''
const type = params.get('type') const type = params.get('type')
const id = params.get('id') const id = params.get('id')
@ -38,7 +39,7 @@
const cover = reactive({ value: DEFAULT_COVER }) const cover = reactive({ value: DEFAULT_COVER })
const fetchArtistCover = async (id) => { const fetchArtistCover = async (id) => {
const response = await fetch(`/api/v1/artists/${id}/`) const response = await fetch(`${baseUrl}/api/v1/artists/${id}/`)
const data = await response.json() const data = await response.json()
cover.value = data.cover?.urls.medium_square_crop ?? DEFAULT_COVER cover.value = data.cover?.urls.medium_square_crop ?? DEFAULT_COVER
} }
@ -51,16 +52,23 @@
const tracks = reactive([]) const tracks = reactive([])
const getTracksUrl = () => type === 'track' const getTracksUrl = () => type === 'track'
? `/api/v1/tracks/${id}` ? `${baseUrl}/api/v1/tracks/${id}`
: type === 'playlist' : type === 'playlist'
? `/api/v1/playlists/${id}/tracks/` ? ${baseUrl}`/api/v1/playlists/${id}/tracks/`
: `/api/v1/tracks/` : ${baseUrl}`/api/v1/tracks/`
const getAudioSources = (uploads) => { const getAudioSources = (uploads) => {
const sources = uploads const sources = uploads
// NOTE: Filter out repeating and unplayable media types // NOTE: Filter out repeating and unplayable media types
.filter(({ mimetype }, index, array) => array.findIndex((upload) => upload.mimetype === mimetype) === index) .filter(({ mimetype }, index, array) => array.findIndex((upload) => upload.mimetype === mimetype) === index)
.filter(({ mimetype }) => ['probably', 'maybe'].includes(audio.element?.canPlayType(mimetype))) .filter(({ mimetype }) => ['probably', 'maybe'].includes(audio.element?.canPlayType(mimetype)))
// NOTE: For backwards compatibilty, prepend the baseUrl if listen_url starts with a slash
.map(source => ({
...source,
listen_url: listen_url[0] === '/'
? `${baseUrl}${listen_url}`
: listen_url
}))
// NOTE: Add a transcoded MP3 src at the end for browsers // NOTE: Add a transcoded MP3 src at the end for browsers
// that do not support other codecs to be able to play it :) // that do not support other codecs to be able to play it :)