* [enhancement]: Support toggling Album/Track view for gneres
The _primary_ purpose of this PR is to enable viewing tracks OR albums for genres.
This has a few requirements:
1. Ability to set default route for genres, **except** when already on song/album page
2. Ability to toggle between album and genre view
3. Fixed refresh for genre ID
Additionally, there was some refactoring:
- Since the *-list-headers had very similar functions for search, export that as a hook instead
* also use hook for album artist
* support switching albumartist tracks/albums
* remove toggle on song/album list, simplify logic
* fix carousel, full screen metadata improvements
* Add missing mapped keys on multiple artist
* Remove bg opacity on metadata section
* Improve visibility of currently playing song
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
Two bugs addressed in response to Safari changes:
1. Only handle `onEnded` for real streams, preventing `autoNext()` spam when the last track finishes
2. `.play()` is not necessarily a safe operation (if empty wave was started, can cause exception later). Catch this exception and discard it. This also only occurred when playing the last track
* [bugfix/feature]: Improve ratings
Fix: add preventDefault/stopPropagation to prevent scrolling to top in queue
Feat: instead of double click for clear, click on same value
* initial idea for playback rate
* Add transparency to dropdown
* Move playback speed component to right controls
* Set mpv speed on startup
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* [Feature] Support changing accent/primary color
- adds color picker to settings with five swatches (blue default, yellow green and red imported from sonixd, purple new)
- changing color will change the appropriate css variable
* Remove hover styles that use an alternate primary
---------
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
Co-authored-by: jeffvli <jeffvictorli@gmail.com>