music: self-hosted scrobbler (Spotify poller, Last.fm + streaming-history importers, /trackers/music, homepage listening card)
All checks were successful
Deploy production / deploy (push) Successful in 2m37s
All checks were successful
Deploy production / deploy (push) Successful in 2m37s
- music schema: artists/albums/tracks (+album art), plays with source + dedupe, now_playing, spotify_auth, import_state; plays_deduped view hides Last.fm scrobbles Spotify also has - in-app Spotify poller (60s, leased) started from hooks init; no new role or env needed - /api/spotify/connect + callback (owner only), /trackers/music public stats - scripts: music-poll, music-import-lastfm (resumable), music-import-history - deploy/music-collector: optional host timer with its own role
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import { resolve } from '$app/paths';
|
||||
import portrait from '#lib/assets/stan.jpg?url';
|
||||
import ProgressBar from '#lib/components/ProgressBar.svelte';
|
||||
import ListeningCard from '#lib/music/ListeningCard.svelte';
|
||||
import CatalogGrid from '#lib/components/CatalogGrid.svelte';
|
||||
import { projects, visibleTrackers } from '#lib/projects.js';
|
||||
import ArrowRight from 'lucide-svelte/icons/arrow-right';
|
||||
@@ -99,6 +100,11 @@
|
||||
>email <Mail size={14} aria-hidden="true" /></a
|
||||
>
|
||||
</nav>
|
||||
{#if data.listening}
|
||||
<div class="mx-auto mt-7 max-w-sm text-left md:mx-0">
|
||||
<ListeningCard listening={data.listening} />
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<img
|
||||
src={portrait}
|
||||
|
||||
Reference in New Issue
Block a user