feat: three-dot context menu on song rows + search shows songs as rows

- Add ⋮ button to every song-item triggering the context menu (same as right-click)
- Show song-actions always visible on touch devices via @media (hover:none)
- Search results: songs now render as makeSongItem rows instead of cards
  (artists/albums remain as horizontal card rows)
- Fix Android app opening system settings on every launch after notification
  permission denial — now only redirects to settings once using notif_settings_shown flag

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-05-17 20:58:59 +02:00
1 parent 7bec106350
commit 27eb209945
4 files changed
+22 -14

No files matched your search

+4 -10
View File
@@ -735,16 +735,10 @@ export async function doLocalSearch(q) {
s.appendChild(g); el.appendChild(s);
}
if(songs.length) {
const s = mkSection('Titel');
const g = document.createElement('div'); g.className = 'scroll-row';
songs.forEach((so,i) => {
const cv = coverUrl(so.coverArt, 256);
const c = makeCard(so.title, so.artist||'', cv, '🎵');
c.querySelector('.play-btn').onclick = (e) => { e.stopPropagation(); playQueue(songs, i); };
c.onclick = () => playQueue(songs, i);
g.appendChild(c);
});
s.appendChild(g); el.appendChild(s);
const sec = mkSection('Titel');
const list = document.createElement('div'); list.className = 'song-list';
songs.forEach((so,i) => list.appendChild(makeSongItem(so, i, songs)));
sec.appendChild(list); el.appendChild(sec);
}
} catch(e) { el.innerHTML = `<p style="color:var(--danger)">${e.message}</p>`; }
}