diff --git a/src/lib/stores.js b/src/lib/stores.js index 2607d1b..e8a2d0c 100644 --- a/src/lib/stores.js +++ b/src/lib/stores.js @@ -1,8 +1,8 @@ -import { writable } from 'svelte/store'; +import { writable, get } from 'svelte/store'; import { browser } from '$app/environment'; export const currentStream = writable({}); -export const currentSongIndex = writable(0); +export const currentSongIndex = writable(null); export const favoritedStreams = writable( new Set(JSON.parse((browser && localStorage.getItem('favoritedStreams')) || '[]')) @@ -12,6 +12,18 @@ if (browser) { favoritedStreams.subscribe((val) => { localStorage.setItem('favoritedStreams', JSON.stringify(Array.from(val))); }); + + if ('mediaSession' in navigator) { + currentSongIndex.subscribe((val) => { + if (val != null) { + const song = get(currentStream).tracks[val]; + navigator.mediaSession.metadata = new MediaMetadata({ + artist: song[1], + title: song[2] + }); + } + }); + } } export const tagList = [ diff --git a/src/routes/streams/+layout.server.ts b/src/routes/streams/+layout.server.ts index 3bfcf88..936cc89 100644 --- a/src/routes/streams/+layout.server.ts +++ b/src/routes/streams/+layout.server.ts @@ -1,5 +1,4 @@ -import { error } from "@sveltejs/kit"; -import { getStreams } from "$lib/database.js"; +import { getStreams } from '$lib/database.js'; export function load() { return {