* [bugfix]: Handle top-level songs for Jellyfin
If a song is at the top level of a music folder, Jellyfin will not
group that into an album (See https://jellyfin.org/docs/general/server/media/music/).
This PR introduces a few changes:
- Gives tracks with no album ID a special route (`/dummy/${id}`)
- Gives a new route for dummy albums, warning about the error. This is designed to look _like_ the album detail page
* `are are` > `are`
* revert name changes
* add share item feature
* take care of (mostly) everything
* bugfixes
* allow clicking on notification to open url
* readd the missing modal after router migration
* remove unnecessary extension
---------
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
* [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
* Add an option for a dynamic background image in the fullscreen player
* Center the background image and fix some more bugs
* More cleaning up the background image
* Add option for customizable blur amount
* Fix missing translation key for image blur
* Fix dynamic image shifting when player is opened
* Hide image blur size config if dynamic background is disabled
---------
Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
* Add customizable resolution for the fullscreen player image
---------
Co-authored-by: iiPython <ben@iipython.dev>
Co-authored-by: Benjamin <iipython@proton.me>
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
* Add a button size setting
* Reduce setting size and add px suffix
* Looks like I don't need || inside of control-settings
* Update translation
* Bump settings version to 7
* [enhancement]: support clearing query and http cache
- Adds the ability to invalidate all queries (useful for forcing refresh, and clearing lyrics which are cached forever)
- [Desktop only] adds the ability to clear the Electron HTTP cache (e.g. cached images)
* use clearer language
* move cache settings to general
The prior code used `form.addToPlaylist`, not `.success`. Also fixes English pluralization and
uses the correct `entity.track` as opposed to `entity.song` for other languages (I am not sure
if the en syntax could be applied to other languages, so I will just leave pluralization as-is
for now).
Currently translated at 100.0% (518 of 518 strings)
Translated using Weblate (English)
Currently translated at 100.0% (509 of 509 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff <jeffvictorli@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/en/
Translation: feishin/Translation
Currently translated at 100.0% (508 of 508 strings)
Translated using Weblate (English)
Currently translated at 100.0% (508 of 508 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff <jeffvictorli@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/en/
Translation: feishin/Translation