diff --git a/src/lib/player.svelte.ts b/src/lib/player.svelte.ts index 9576850..a44177d 100644 --- a/src/lib/player.svelte.ts +++ b/src/lib/player.svelte.ts @@ -15,6 +15,7 @@ import { settings } from "./settings.svelte.js"; const audio = new Audio(); audio.crossOrigin = "anonymous"; audio.preload = "auto"; +const faviconUrl = `${import.meta.env.BASE_URL}favicon.svg`; audio.onpause = () => { player.paused = true; updateMediaPosition(); @@ -371,7 +372,7 @@ $effect.root(() => { : `${songArtist(track)} - ${track.title}`; if (link) { const useDynamic = settings.dynamicFavicon && artUrl; - link.href = useDynamic ? artUrl : "favicon.svg"; + link.href = useDynamic ? artUrl : faviconUrl; link.type = useDynamic ? "image/jpeg" : "image/svg+xml"; } if (mediaSession) { @@ -388,7 +389,7 @@ $effect.root(() => { lastNowPlayingId = ""; document.title = "tinysub"; if (link) { - link.href = "favicon.svg"; + link.href = faviconUrl; link.type = "image/svg+xml"; } if (mediaSession) mediaSession.metadata = null; diff --git a/vite.config.ts b/vite.config.ts index 5ffd4a1..198c734 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,7 +6,7 @@ export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), "VITE_"); return { - base: env.VITE_TINYSUB_BASE_URL || "/", + base: env.VITE_TINYSUB_BASE_URL?.trim().replace(/\/?$/, "/") || "/", plugins: [ svelte(), VitePWA({