fix: NP flicker, fully-random shuffle, playlist count backpatch

NP overlay flicker (stronger fix):
- Remove contain:layout style paint (causes layer issues on some Android WebView)
- Add ::before pseudo-element with solid background so no frame can be transparent
- Add -webkit-transform prefixes for both open and closed states

Shuffle fully random:
- playQueue no longer pins startIdx when shuffle is on
- All songs shuffled into a completely random order, S.qIdx=0 always
- toggleShuffle mid-queue still pins current song first (Spotify toggle behavior)

Playlist count wrong in overview:
- Navidrome's getPlaylists returns stale/wrong songCount in its index
- Add data-pl-id to each playlist card in loadPlaylists
- After loadPlaylistDetail gets the accurate entry count, backpatch the
  matching overview card's subtitle so the grid shows the real song count

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-06-04 11:03:54 +02:00
1 parent 3c9a8e892a
commit 1d5f4a620d
3 files changed
+16 -9

No files matched your search

+8 -4
View File
@@ -573,16 +573,20 @@ button:focus{outline:none}
position:fixed;inset:0;z-index:300;
display:flex;flex-direction:column;
background:var(--bg);
/* translate3d keeps the element on a stable GPU layer without will-change's
layer-creation/destruction cycle that causes WebView to flash the content below */
transform:translate3d(0,100%,0);
-webkit-transform:translate3d(0,100%,0);
transition:transform .35s cubic-bezier(.4,0,.2,1);
overflow:hidden;
backface-visibility:hidden;-webkit-backface-visibility:hidden;
contain:layout style paint;
isolation:isolate;
}
.np-overlay.open{transform:translate3d(0,0,0)}
/* Solid opaque floor so no frame can ever be transparent to content below */
.np-overlay::before{
content:'';position:absolute;inset:0;
background:var(--bg);z-index:-1;
transform:translateZ(0);
}
.np-overlay.open{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0)}
/* Blurred album art as background — two layers for crossfade */
.np-bg{