A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz

Merge branch 'main' into feat/feed-generator

+16 -3
+14 -2
apps/web/src/layouts/Navbar/Navbar.tsx
··· 76 76 return ""; 77 77 }, [data]); 78 78 79 + const [tooltipContent, setTooltipContent] = useState("Copy API Key"); 80 + 81 + const handleCopyClick = () => { 82 + copy(webscrobblerWebhook); 83 + 84 + setTooltipContent("Copied!"); 85 + 86 + setTimeout(() => { 87 + setTooltipContent("Copy API Key"); 88 + }, 1500); 89 + } 90 + 79 91 useEffect(() => { 80 92 if (profile?.spotifyConnected && !!localStorage.getItem("spotify")) { 81 93 localStorage.removeItem("spotify"); ··· 351 363 extension settings as a custom API URL: 352 364 </LabelMedium> 353 365 <Code className="mt-[15px]">{webscrobblerWebhook}</Code> 354 - <StatefulTooltip content="Copy API Key"> 366 + <StatefulTooltip content={tooltipContent}> 355 367 <Copy 356 - onClick={() => copy(webscrobblerWebhook)} 368 + onClick={handleCopyClick} 357 369 size={18} 358 370 color="var(--color-text)" 359 371 className="ml-[5px] cursor-pointer"
+2 -1
package.json
··· 28 28 "dev:tracklist": "cargo run -p rockskyd --release -- tracklist", 29 29 "db:pgpull": "cargo run -p rockskyd --release -- pull && rm -f rocksky-analytics.ddb* rocksky-feed.ddb* && curl -o rocksky-analytics.ddb https://backup.rocksky.app/rocksky-analytics.ddb && curl -o rocksky-feed.ddb https://backup.rocksky.app/rocksky-feed.ddb", 30 30 "mb": "cd musicbrainz && go run main.go", 31 - "spotify": "cd apps/api && bun run spotify" 31 + "spotify": "cd apps/api && bun run spotify", 32 + "build:raichu": "cd crates/raichu && wasm-pack build --release --target web && cp -r pkg ../../apps/web/src" 32 33 }, 33 34 "workspaces": [ 34 35 "apps/api",