Add rather dull favorite handling code

This commit is contained in:
Jakob Moser 2025-11-13 00:18:54 +01:00
parent 625a6d72f7
commit 5066ce695d
Signed by: jakob
GPG Key ID: 3EF2BA2851B3F53C

View File

@ -0,0 +1,32 @@
const FAVORITES_STORAGE_KEY = "songAppFavorites"
let favoriteIds = null
export function getFavoriteIds() {
if (favoriteIds === null) {
favoriteIds = new Set(
JSON.parse(localStorage.getItem(FAVORITES_STORAGE_KEY)) || [],
)
}
return favoriteIds
}
function setFavoriteIds(favs) {
localStorage.setItem(
FAVORITES_STORAGE_KEY,
JSON.stringify(Array.from(favs)),
)
}
export function addFavorite(id) {
const favs = getFavoriteIds()
favs.add(id)
setFavoriteIds(favs)
}
export function removeFavorite(id) {
const favs = getFavoriteIds()
favs.delete(id)
setFavoriteIds(favs)
}