[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

Move debug icon to left side

FoxxMD (Jan 27, 2026, 5:48 PM UTC) 1f2816e6 50565fe3

+12 -6
+6 -3
src/client/recent/RecentPage.tsx
··· 54 54 setIndex(index); 55 55 },[copy, setIndex]); 56 56 57 - const baseClass = ['float-right']; 57 + const baseClass = ['mr-3']; 58 58 59 59 const isUpstream = searchParams.get('upstream') === '1'; 60 60 ··· 93 93 // } 94 94 // return y; 95 95 // }); 96 - return <li key={x.index}><PlayDisplay data={x} buildOptions={displayOpts}/> <button className={clsx(classes)} onClick={() => copyActionCB(x.meta.lifecycle, x.index)}>{copiedIndex === x.index ? 'Copied!' : <FontAwesomeIcon 97 - color="white" icon={faBug}/>}</button></li> 96 + return <li key={x.index}> 97 + <button className={clsx(classes)} onClick={() => copyActionCB(x.meta.lifecycle, x.index)}>{copiedIndex === x.index ? 'Copied!' : <FontAwesomeIcon 98 + color="white" icon={faBug}/>}</button> 99 + <PlayDisplay data={x} buildOptions={displayOpts}/> 100 + </li> 98 101 })}</ul> 99 102 </div> 100 103 </div>
+6 -3
src/client/scrobbled/ScrobbledPage.tsx
··· 31 31 setIndex(index); 32 32 },[copy, setIndex]); 33 33 34 - const baseClass = ['float-right']; 34 + const baseClass = ['mr-3']; 35 35 36 36 37 37 return ( ··· 46 46 <ul>{data.map(x => { 47 47 const classes = [...baseClass].concat(copiedIndex !== x.index ? ['underline','cursor-pointer'] : []); 48 48 49 - return <li key={x.index}><PlayDisplay data={x} buildOptions={displayOpts}/> <button className={clsx(classes)} onClick={() => copyActionCB(x.meta.lifecycle, x.index)}>{copiedIndex === x.index ? 'Copied!' : <FontAwesomeIcon 50 - color="white" icon={faBug}/>}</button></li>; 49 + return <li key={x.index}> 50 + <button className={clsx(classes)} onClick={() => copyActionCB(x.meta.lifecycle, x.index)}>{copiedIndex === x.index ? 'Copied!' : <FontAwesomeIcon 51 + color="white" icon={faBug}/>}</button> 52 + <PlayDisplay data={x} buildOptions={displayOpts}/> 53 + </li>; 51 54 })} </ul> 52 55 </div> 53 56 </div>