Commit Graph
27 Commits
Author SHA1 Message Date
vicrodh cec4c32bcc chore: remove unused CSS selectors from Svelte components
Clean up dead CSS that remained after HTML refactors:
- NowPlayingBar, Sidebar, PlaylistManagerView, FavoritesView
- PlaylistModal, LocalLibraryView, PlaylistDetailView
- Dropdown, MigrationModal, AlbumCard, QualityBadge
- SearchPlaylistCard, LocalLibraryTagEditorModal
- TrackReplacementModal, ImmersiveHeader, SuggestionsPanel
- LyricsFocusPanel, ExpandedPlayer, FocusMode
- ArtistDetailView, SearchView, SettingsView
2026-02-02 22:51:42 -06:00
vicrodh eb9d9dbb15 fix: revert to hi-res-gray.svg (hi-res.svg has poor text contrast) 2026-02-01 00:16:36 -06:00
vicrodh 03cee3f9fc fix: add fixed-width icon container (24px) and use hi-res.svg instead of hi-res-gray.svg 2026-02-01 00:14:08 -06:00
vicrodh 8c7af66d05 fix: increase quality badge min-width to 136px for consistent sizing 2026-02-01 00:07:49 -06:00
vicrodh f8825d98dd fix: set fixed heights for quality badge (36px) and audio badges row (20px) to prevent size changes 2026-02-01 00:02:59 -06:00
vicrodh adc0742fdb fix: maintain consistent badge width by always reserving space for downgrade indicator 2026-01-31 23:58:47 -06:00
vicrodh ae81b1c3c4 Fix quality setting and device name display issues (#34)
- Clear both L1 memory and L2 disk caches when quality setting changes
  This ensures cached tracks at wrong quality are removed
- Fix device name not showing in popup on first hover
  Now refreshes status on each hover instead of only when null
- Add quality downgrade indicator when stream quality is lower than
  track's original quality (shows yellow arrow with tooltip)
- Store original track quality values for comparison with actual stream
2026-01-31 23:46:02 -06:00
vicrodh 591b194b25 Fix quality badges to match TrackRow simple text style
- Fix qobuzAdapters to use formatQuality for track quality (was showing Hi-Res)
- Update QualityBadge compact mode to simple text style:
  - font-size: 12px
  - color: #666666 (uniform gray)
  - width: 80px (fixed)
  - No background, border, or special hires styling
2026-01-28 19:42:53 -06:00
vicrodh c0e9a94f98 Refactor quality badges to use QualityBadge component with compact mode
- Add compact prop to QualityBadge for inline usage in track lists
- Compact mode shows simple text (24bit/96kHz or CD Quality)
- Use golden gradient for hires badges in compact mode
- Update ArtistDetailView to use QualityBadge compact
- Update FavoritesView to use QualityBadge compact
- Update SearchView to use QualityBadge compact
- Remove duplicate CSS and getQualityLabel functions
- LocalLibrary views keep custom format showing codec (FLAC 24/96)
2026-01-28 19:28:43 -06:00
vicrodh 8602493331 refactor(quality-badge): simplify to only detect MP3 format
Simplified the lossy format detection since only MP3 is clearly lossy
among supported library formats (flac, m4a, wav, aiff, ape, mp3).
m4a can be either ALAC (lossless) or AAC (lossy) so it's not reliable.

- Removed LOSSY_FORMATS array, now only checks for 'mp3'
- Use /mp3.svg icon (text-only, more readable than mp3-cd.svg)
- Simplified tier to just 'mp3' instead of 'mp3-cd' and 'lossy'
2026-01-25 06:06:10 -06:00
vicrodh fa8af9b1d9 fix(quality-badge): distinguish lossy formats from CD quality
MP3 and other lossy formats (aac, m4a, ogg, opus, wma) at CD-like
sample rates (44.1-48kHz) were incorrectly shown as "CD" quality
because bitDepth check came before format check.

Changes:
- Add format prop to QualityBadge, NowPlayingBar, ExpandedPlayer
- Add format field to PlayingTrack interface
- Check for lossy formats BEFORE checking bitDepth/samplingRate
- New 'mp3-cd' tier for lossy formats at CD sample rates
- Uses /mp3-cd.svg icon for this tier
2026-01-25 05:45:01 -06:00
vicrodh 848322681d refactor: replace hardcoded rgba white with theme-aware alpha variables
Add --alpha-* CSS variables (4-95%) to app.css that adapt to theme:
- Dark themes: white-based rgba
- Light themes: black-based rgba (auto-inverts for proper contrast)

Mass-replaced 100+ instances of rgba(255,255,255,...) across 23 files
with var(--alpha-*) for consistent theming support.

This fixes borders, overlays, and UI elements being invisible or
having poor contrast in light themes.
2026-01-24 11:35:54 -06:00
vicrodh ada7b7b84c style(artist): remove solid backgrounds, Load More button, thin badges
- Remove solid background from Discography and all sections below
- Remove Load More button from Discography (initial display sufficient)
- Change badge font-weight to 100 (Thin) in AlbumCard and QualityBadge
- Use LINE Seed JP font family for badges
2026-01-23 23:29:09 -06:00
vicrodh 0e5026fa08 fix(ui): normalize quality badge widths
cx
2026-01-19 22:11:28 -06:00
vicrodh c810663c6f feat: implement 3-state DAC badge and hardware sample rate detection
Backend changes:
- Add audio_diagnostics module to read actual hardware sample rate from /proc/asound
- New command get_hardware_audio_status() parses hw_params for real-time monitoring
- Add glob dependency for file pattern matching

Frontend (AudioOutputBadges):
- Implement 3-state DAC badge system:
  - Green: DAC passthrough working correctly (rates match)
  - Yellow: DAC passthrough ON but resampling detected (warning)
  - Gray: DAC passthrough OFF (intentionally disabled)
- Dynamic tooltips showing actual hardware sample rate
- Compare file sample rate vs hardware sample rate
- Increase tooltip z-index to 9999 to prevent occlusion issues
- Add pointer-events: none to tooltip to prevent interaction issues

Frontend (SettingsView):
- Replace hardcoded "192 kHz" with dynamic hardware sample rate
- Load and display actual hardware audio status
- Show format details (e.g., S32_LE) when available
- Display "No active playback" when no audio is playing
- Add muted styling for inactive state

Frontend (QualityBadge):
- Add native tooltip showing tier and format
- Add cursor: help to indicate interactivity

i18n:
- Add "noActivePlayback" translations (EN/ES)

This allows users to verify bit-perfect playback is working and detect
resampling issues that would compromise audio quality.
2026-01-16 21:14:22 -06:00
vicrodh 9de28b8480 fix: quality badge contrast in Light theme and artist image upload parameter
- Quality badge now has dark background with white text in Light theme
- Fixed parameter name in artist image upload (customImagePath)
- Improved visibility on both AlbumCard and QualityBadge components

cp
2026-01-15 11:48:09 -06:00
vicrodh 60180c179b fix(ui): improve contrast and theme consistency
- Fix Dropdown selected option contrast in Light and Warm themes
- Improve QualityBadge border contrast in Light theme (AlbumCard and NowPlayingBar)
- Add custom artist image upload button in LocalLibrary (visible only when settings panel is open)
- Position upload button at top-right of artist card, consistent with other edit buttons

cp
2026-01-15 11:37:16 -06:00
vicrodh 719915058b feat: add hi-res logo variants (gray, blue, mono) and use grayscale version
- Created hi-res-gray.svg: grayscale filter on original logo
- Created hi-res-blue.svg: metallic blue version matching app accent
- Created hi-res-mono.svg: simplified black/white version
- QualityBadge now uses grayscale version for cleaner look
2026-01-11 23:21:00 -06:00
vicrodh bd578d8123 fix: z-index for menus/tooltips, sidebar dropdown, hi-res SVG icon
- Fix z-index across all menus and tooltips (10000+) to prevent overlap issues
- Redesign sidebar playlist header with dropdown menu: Sort by, Refresh, Import, Manage
- Add playlist tooltip on hover showing track count (lazy-loads artists)
- Fix submenu navigation with delayed close for better UX
- Replace hi-res PNG with SVG icon in QualityBadge
- Fix scrollbar spacing (8px from window edge) in main content
- Fix Svelte state_unsafe_mutation error in sidebar tooltip loading
2026-01-11 22:48:54 -06:00
vicrodh bfc8fd6a92 fix: increase QualityBadge size for better readability
- HiRes icon: 18px → 24px
- CD/MP3 icons: 14px → 16px
- Badge padding: 4px 8px → 5px 10px
2026-01-10 23:25:11 -06:00
vicrodh c66fe100b5 fix: NowPlayingBar song-card improvements
- Add album prop and click handlers (onArtistClick, onAlbumClick)
- Fix controls-row padding (equal top/bottom: 8px)
- QualityBadge: use gray colors instead of white with alpha
2026-01-10 23:24:17 -06:00
vicrodh c818a807d1 fix: UI refinements for NowPlayingBar and QualityBadge
- Artwork preview only triggers on hover over artwork, not entire song-card
- Double song-card min-width (320px → 640px, max 700px)
- Reduce all control icons by 2px (18→16, 20→18, 22→20)
- Reduce control button sizes (32→30px, play 36→34px)
- QualityBadge: reduce text 1pt (9→8px, 10→9px), alpha 90%
2026-01-10 23:21:41 -06:00
vicrodh 609d88719e feat: redesign NowPlayingBar (88px) and update QualityBadge opacity
- Redesign NowPlayingBar with new layout: seekbar at top, controls/song card/volume below
- Increase NowPlayingBar height from 80px to 88px
- Update all height calculations to match (Sidebar, LyricsSidebar, main-content)
- Set QualityBadge text opacity to 85%
- Add static icons for quality badges (cd.svg, mp3.svg, logo-hires.png)
2026-01-10 23:18:24 -06:00
vicrodh 197e850397 fix: use static icons, white text, reduced font size 2026-01-10 23:15:13 -06:00
vicrodh e15955c3d7 fix: QualityBadge always shows, full label display
- Always render badge (default to CD if unknown)
- Always show full label (Hi-Res 24-bit / 96 kHz)
- Remove compact mode
2026-01-10 22:45:42 -06:00
vicrodh 764ac9f00e feat: redesign QualityBadge with Qobuz-style info display
- Show icon + bit depth + sample rate (e.g., Hi-Res 24-bit / 96 kHz)
- Color-coded tiers: MAX (gold), Hi-Res (blue), CD (gray), MP3 (dim)
- Support compact mode for NowPlayingBar
- Custom Hi-Res audio icon (sound bars)
2026-01-10 21:50:40 -06:00
vicrodh 1fc7664cef Add quality badges (CD, HiRes, MAX) to replace dot indicators
- Create QualityBadge component with tier detection
- CD badge shows disc icon for 16-bit lossless
- HR badge for 24-bit Hi-Res audio
- MAX badge for 24-bit >96kHz Hi-Res+
- Update NowPlayingBar and FullScreenNowPlaying to use badges
- Pass bitDepth and samplingRate props through components
2026-01-09 17:56:37 -06:00