* fix: better handling of custom font
Practically speaking, custom font seems to have only worked on Linux, because
`net.fetch` would include the mime type in the response headers which could validate the payload.
This doesn't appear to be the case on windows/macOS. Instead:
1. On Linux (or if some other system supports it), check the content type. If good, serve as normal
2. Otherwise, fetch the payload. Read the first four to five bytes and check for a valid magic number.
Additionally, to prevent arbitrary requests fetching other paths via injected content, sync the custom font path
to the main process, and then make _every_ request to `feishin:/` point to the same renderer path.
When setting the font, first send the path to the main process. This will register `feishin:/` to point
to the path provided. This is done via a promise-based set.
Finally, provide a default value for the file input (a best effort approximation for the last part of the file path)
on the file input component.
* make the linter happy
* implement theme
* refactor theme stylesheets to load inline to simplify vite bundling
* add missing css module scope name for web build
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* Album blur, allow clicking the playerbar to toggle the player
* Fix stopProporagion, sync package with upsteam, update translation
* recommit my existing changes
* Update default albumBackgroundBlur to 6
* according to git this commit resets the package files
* merge with our fork because pyx forgot to add it
* try adding a setting
* change the playerbar animation
* make the animation quicker bc its choppy
* change playerbar to use a bool instead
* requested opacity fix
* Refactor classes to use clsx
---------
Co-authored-by: iiPython <ben@iipython.dev>
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* 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>
* 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>
* add more emphasis to current song
* add css indicator (rivolumelineup)
* don't use absolute position, support album track number
* Respect order of set-queue function (fix race condition)
* Fix table row actions button on album detail and play queue
* Fix album detail table customizations
* Bump to v0.4.1
* Fix opacity mask for unsynced lyrics container
* Separate sidebar icons to new component
- Fixes react render issue
* Add app focus hook
* Remove css play image
* Add player status as cell refresh condition for queue
* Add current song images
* Add current song styles for all song tables
* Revert row index cell width
* Remove animated svg on browser
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* add opacity
* add background for song metadata
* Add padding and border radius to opacity elements
* Remove font-weight transition on active lyrics (#233)
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com>
* Add store controls for fullscreen player
* Normalize styles for playback config
* Add fullscreen player component
* Add option component
* Update player controls to use option/popover components
* Add esc hotkey to close player
* Add usePlayerData hook