* add web visualizer
* fallback to simple model
* less samples, hopefully more efficient
* Use audiomotion analyzer
- Note: fixed to 4.1.1 because 4.2.0 uses esm which breaks in the current workflow...
* revert publish changes
* r2
* don't massively change package.json
* lazy
Supports running Feishin solely using web audio (useful for clients with problems with MPV).
Also moves save/restore queue to utils, as MPV object is now optional
* 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>
* [feature]: Support using system fonts
Uses the **experimental** queryLocalFonts API, when prompted, to get the fonts and do CSS.
Resolves#270 and #288 (by proxy)
Caveats/notes:
- This is experimental, and is only supported by Chrome/Chromium/Edgeium (see https://caniuse.com/?search=querylocalfonts)
- As far as I can tell, the only way to dynamically change the font (shown in https://wicg.github.io/local-font-access/#example-style-with-local-fonts) was by DOM manipulation; css variables did not seem to work
- This shows **all** fonts, including their variants (bold/italic/etc); given that the style names could be localized, not sure of a way to parse this (on my system, for instance, I had 859 different combinations)
- I made fonts a separate top-level setting because it was easier to manipulate without causing as many rerenders; feel free to put that back
* add permission chec
* add electron magic to support custom font
* restrict content types
- set mpv settings only after it has successfully started (at least on linux, settings were not taken)
- change timing of restore queue to behave properly
* initial implementation for password saving
* support restoring password in interceptor
* Fix modal overflow and position styles
* warn about 429, better error handling
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* Remove 1920px max width
* Fix position of list controls menu
* Match size and color of search input
* Adjust library header sizing
* Move app menu to sidebar
* Increase row buffer on play queue list
* Fix query builder styles
* Fix playerbar slider track bg
* Adjust titlebar styles
* Fix invalid modal prop
* Various adjustments to detail pages
* Fix sidebar height calculation
* Fix list null indicators, add filter indicator
* Adjust playqueue styles
* Fix jellyfin releaseYear normalization
* Suppress browser context menu on ag-grid
* Add radius to drawer queue -- normalize layout
* Add modal styles to provider theme
* Fix playlist song list pagination
* Add disc number to albums with more than one disc
* Fix query builder boolean values
* Adjust input placeholder color
* Properly handle rating/favorite from context menu on table
* Conform dropdown menu styles to context menu
* Increase sort type select width
* Fix drawer queue radius
* Change primary color
* Prevent volume wheel from invalid values
* Add icons to query builder dropdowns
* Update notification styles
* Update scrollbar thumb styles
* Remove "add to playlist" on smart playlists
* Fix "add to playlist" from context menu
* Add api for add/remove playlist items
* Add playlistItemId property to normalized Song
- This is used for Navidrome to delete songs from playlists
* Add mutations for add/remove from playlist
* Add context modal for playlist add
* Add remove from playlist from context menu
* Set jellyfin to use playlistItemId
* Adjust font sizing
* Add playlist add from detail pages
* Bump mantine to v6-alpha.2
* Add letter spacing to cell text
* Set window control height in px
* Add temp unused routes
* Migrate text title font weights
* Bump mantine to v6 alpha
* Migrate modals / notifications
* Increase header bar to 65px
* Adjust play button props
* Migrate various components
* Migrate various pages and root styles
* Adjust default badge padding
* Fix sidebar spacing
* Fix list header badges
* Adjust default theme