- Add Queue/History tabs with new layout
- Implement Now Playing card with spectrum animation
- Add History tab showing recently played tracks from backend
- Add Infinite Play toggle (persisted to localStorage)
- Relocate search to footer (expands left)
- Add Up Next counter (X/Y format)
- Implement 20-track pagination with load more
- Add proper i18n keys for new features
- Add new SVG icons (add-to-list, trash-list)
- Move queue button to far right of NowPlayingBar (after volume)
- Add vertical separator between volume control and queue button
- Replace ListMusic icon with custom queue-list SVG
- Add active state: play symbol changes to accent color when panel open
- Pass queueOpen prop to track panel visibility state
Backend:
- Add DiscogsImageOption struct for artwork options
- Add discogs_search_artwork command to search multiple images
- Add discogs_download_artwork command to download selected image
- Extend DiscogsClient with search_artwork_options() method
- Extend DiscogsClient with download_artwork_from_url() method
- Register new commands in lib.rs
Frontend:
- Add Discogs image selection to album edit modal
- Add 'Fetch from Discogs' button with Discogs logo
- Display grid of artwork options from Discogs search results
- Allow user to select preferred artwork option
- Download and save selected artwork on Save
- Add comprehensive CSS styling for Discogs UI elements
- Adjust Discogs logo color filter for proper contrast
User can now click 'Fetch from Discogs', browse multiple artwork
options, select one, and save it as the album's cover art.
Frontend:
- Filter playlists by local content when offline
- Respect showPartialPlaylists setting for filtering
- Add local content badges (green=all, yellow=partial) in grid/list views
- Subscribe to offline state in PlaylistManagerView
- Add pending playlist functions to offlineStore
Assets:
- Add offline-small.svg icon for compact indicators
cc
- 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
Backend:
- Create config/audio_settings.rs with SQLite persistence
- Store output_device, exclusive_mode, dac_passthrough, sample_rate
- Add Tauri commands: get_audio_settings, set_audio_*
- Register state and commands in lib.rs
Note: Player modification to USE these settings is pending.
See HANDOFF.md for implementation details.
- Use Tauri opener plugin for all external links in About modal
- Convert anchor tags to buttons with openUrl() for proper browser opening
- Add GTK_USE_PORTAL=1 for native file dialogs on Linux (KDE Plasma)
- Add Tux.svg and mexico-flag.svg for About modal signature
- Add homeSettingsStore for persistent settings (localStorage)
- Create reusable Modal component with overlay
- Create HomeSettingsModal for customizing home layout
- Add time-based greeting (Good morning/afternoon/evening/night)
- Support custom greeting text with {name} placeholder
- Allow reordering and toggling visibility of sections
- Show Qobuz badge for editorial sections (New Releases, Press Awards)
- Add settings icon in home header using home-gear.svg
- 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%
- 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)
- Restore Last.fm session on app startup (not just when visiting Settings)
- Fix LocalLibrary artwork: use asset://localhost/ instead of file://
- Add fs:allow-read capability for asset protocol
- Enable assetProtocol in tauri.conf.json
- Replace all Tauri icons with QBZ logo variants
- Update LoginView splash screen to use logo.png
- Add logo.png to static folder for web use
- Update favicon.png with QBZ icon