Files
R3ap3r 3178b8f4f7 Aurora SpotiRip desktop and web app
- Spotify playlist, library, album and artist browsing with in-app playback
- Song, playlist and album downloads via spotdl with YouTube and Bandcamp fallbacks
- Electron desktop app (castLabs Widevine) with a permanent sidebar layout
- Linux and Windows packaging scripts
2026-09-25 23:20:57 -05:00

38 lines
956 B
TypeScript

export type LibraryHistoryEntry = {
id: string;
timestamp: number;
kind: "playlist" | "identify" | "convert";
title: string;
trackCount?: number;
artworkUrl?: string;
sourceUrl?: string;
};
const KEY = "aurora-spotirip-history-v1";
export function loadLibraryHistory(): LibraryHistoryEntry[] {
if (typeof window === "undefined") return [];
try {
const parsed = JSON.parse(window.localStorage.getItem(KEY) || "[]");
return Array.isArray(parsed) ? parsed : [];
} catch {
return [];
}
}
export function addLibraryHistory(entry: Omit<LibraryHistoryEntry, "id" | "timestamp">) {
const current = loadLibraryHistory();
const next: LibraryHistoryEntry[] = [
{
...entry,
id: crypto.randomUUID(),
timestamp: Date.now(),
},
...current,
].slice(0, 200);
window.localStorage.setItem(KEY, JSON.stringify(next));
}
export function clearLibraryHistory() {
window.localStorage.removeItem(KEY);
}