Commit Graph
109 Commits
Author SHA1 Message Date
vicrodh 19028ab232 feat(artist): enhance artist view sections 2026-01-12 00:37:03 -06:00
vicrodh f4fe4b01c9 fix(ui): Standardize scrollbar across all views
- Add consistent scrollbar styling to all view components
- Scrollbar is visible (subtle) by default, brighter on hover
- Position scrollbar 8px from right edge
- Each view now handles its own scroll container
2026-01-11 22:08:57 -06:00
vicrodh 7affd2bf13 Fix Hi-Res quality badge showing as CD when playing from playlists
Root cause: Queue tracks were being built without quality fields (hires,
bit_depth, sample_rate) in multiple views. When auto-advancing or skipping
tracks, the playerStore would have undefined quality data, causing
QualityBadge to default to CD tier.

Fixed by:
- Adding quality fields to queue track builders in PlaylistDetailView,
  FavoritesView, ArtistDetailView, and LocalLibraryView
- Replacing all 'CD Quality' fallbacks with '-' placeholder in +page.svelte
- Adding bitDepth/samplingRate fields to ArtistDetailView DisplayTrack
2026-01-11 19:57:40 -06:00
vicrodh 174b7742ca feat(artist): add favorite button to artist detail view
- Add Heart icon button next to artist name
- Check favorite status on mount from get_favorites API
- Toggle favorite with add_favorite/remove_favorite API
- Show filled heart when artist is favorited
2026-01-11 02:19:16 -06:00
vicrodh 73ef1f91db feat: album/playlist header menu and UI consistency
Album/Playlist Menu:
- Remove + and Download buttons from headers
- Add AlbumMenu component with: Play Next, Play Later, Share (Qobuz/song.link), Download
- Implement queue handlers (handleAddAlbumToQueueNext, handleAddAlbumToQueueLater)
- Implement share handlers (shareAlbumQobuzLink, shareAlbumSonglink)
- Apply same menu to PlaylistDetailView

Button consistency (no more pills):
- AlbumDetailView: border-radius 20px → 8px
- PlaylistDetailView: border-radius 24px → 8px
- ArtistDetailView: border-radius 20px → 8px
- FavoritesView: border-radius 20px → 8px
- LocalLibraryView: border-radius 24px/20px → 8px

UserCard simplified (previous commit)
2026-01-10 23:54:25 -06:00
vicrodh 5be437dd4e refactor: extract Qobuz adapters and unify DisplayTrack type
- Create $lib/adapters/qobuzAdapters.ts with:
  - formatDuration/formatDurationMinutes (removed duplicates)
  - getQobuzImage helper
  - formatQuality/formatAlbumQuality helpers
  - convertQobuzAlbum converter
  - convertQobuzArtist converter

- Add unified DisplayTrack type to $lib/types/index.ts

- Update +page.svelte:
  - Import adapters instead of inline functions
  - Remove duplicate converter functions (−57 lines)
  - Add handleDisplayTrackPlay for view components

- Fix TypeScript type narrowing in view closures
2026-01-10 05:51:48 -06:00
vicrodh e9151b6c55 feat(tracks): add share and queue actions menu 2026-01-09 17:15:55 -06:00
vicrodh fbb0b10be3 feat: artist top tracks and play button simplification
- Remove blue circle from play/pause, now uses same style as other controls
- Add Popular Tracks section to ArtistDetailView with Play All
- Search tracks by artist name and filter results
- Connect onTrackPlay to play tracks from artist view
2026-01-09 16:23:16 -06:00
vicrodh 7a53d62341 fix(search): add offset parameter for proper pagination
- Add offset parameter to search_albums, search_tracks, search_artists
- Backend now properly passes offset to Qobuz API
- Fixes duplicate results when loading more search results
2026-01-09 12:35:29 -06:00