From 251d2c587cad16e2464851b1958203c41e994fb4 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Mon, 24 Aug 2026 19:04:41 +0200 Subject: feat(hub): big monochrome disc placeholder for covers with no art Album tiles/detail covers with no embedded art, no sibling image file, and no MusicBrainz match (or MusicBrainz off) used the same small music-note icon list rows use elsewhere - fine as a rare fallback, but most tiles in a real library land here, so it read as broken rather than as the default look of the grid. - icon.js: a "disc" icon (two concentric circles, same stroked style as the rest of the set) - a plain CD/vinyl glyph. - music-app.js: AlbumCard and MusicDetailModal's cover now pass emptyIcon="disc" instead of "music". - style.css: sized at 55% of the tile via CSS rather than a fixed px value, so it scales with .music-grid's auto-fill columns; color stays var(--text-dim), the same neutral tone every other empty state already uses - monochrome, not a new accent. Client-side only. npm run sync-ui re-run. Full suite: 1129 passed, no regressions. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01KBi7ALLGfwcjBXt57yNMcy --- packages/meshbay-hub/src/meshbay_hub/static/icon.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/icon.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/icon.js b/packages/meshbay-hub/src/meshbay_hub/static/icon.js index 0ecbd70..87b56ee 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/icon.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/icon.js @@ -74,6 +74,8 @@ const ICON_PATHS = { music: ['M9 18V5l12-2v13', 'M4 18a2 2 0 1 0 4 0 2 2 0 1 0 -4 0', 'M16 16a2 2 0 1 0 4 0 2 2 0 1 0 -4 0'], + disc: ['M3 12a9 9 0 1 0 18 0 9 9 0 1 0 -18 0', + 'M9 12a3 3 0 1 0 6 0 3 3 0 1 0 -6 0'], pause: ['M7 5.5v13', 'M17 5.5v13'], 'skip-next': ['M5 4l10 8-10 8z', 'M19 5v14'], 'skip-prev': ['M19 4L9 12l10 8z', 'M5 5v14'], -- cgit v1.2.3