feat: timer scrobble (12s), artist topsong star+menu, play count toggle
Scrobbling: - Replace end-of-track scrobble with 12s timer approach - Android: schedule on onTrackChanged, cancel on pause - Web: schedule in playCurrent, cancel in togglePlay pause + onEnded - Skip/new track resets the timer automatically (new song ID) Artist top songs: - Add star button and 3-dots context menu to every top song row - Topsong grid expanded to 5 columns to fit action buttons Settings — play count toggle: - New "Bibliothek" section with toggle switch - When on: shows play count in album/playlist song rows - Artist page always shows play count regardless of toggle - Persisted in ns_cfg localStorage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
f79817410b
commit
7e07fef7ba
7 files changed
+57
-13
No files matched your search
@@ -59,6 +59,7 @@ export function openSettings() {
|
||||
document.getElementById('s-pass').value = '';
|
||||
document.getElementById('s-lastfm').value = S.cfg.lastfmKey || '';
|
||||
document.getElementById('s-backend').value = S.cfg.backendUrl || '';
|
||||
document.getElementById('s-show-playcount').classList.toggle('on', !!S.cfg.showPlayCount);
|
||||
_renderThemePicker();
|
||||
document.getElementById('settings-modal').classList.add('open');
|
||||
checkBackend();
|
||||
@@ -91,6 +92,7 @@ export function saveSettings() {
|
||||
if(pass) S.cfg.pass = pass;
|
||||
S.cfg.lastfmKey = document.getElementById('s-lastfm').value.trim();
|
||||
S.cfg.backendUrl = document.getElementById('s-backend').value.trim().replace(/\/$/,'');
|
||||
S.cfg.showPlayCount = document.getElementById('s-show-playcount').classList.contains('on');
|
||||
localStorage.setItem('ns_cfg', JSON.stringify(S.cfg));
|
||||
closeSettings(); toast('✅ Gespeichert');
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user