Make ratings/favourites a bit more customizable (#2262)

* Replace show ratings toggle with favorite/rating controls setting

Swap `genera.showRatings` (previously a simple bool) for a
`favoriteRatingControls` enum, exposed via derived `useShowRatings` /
`useShowFavorites` hooks. Settings switch becomes a select, with a
migration to a new v32 schema mapping the old boolean forward with no
user change.

* Gate favorite controls on `favoriteRatingControls` setting

Hide the playerbar and mobile fullscreen favorite buttons and the
context-menu favorite action when the setting excludes favorites,
mirroring how ratings are already gated.

* Gate favorite controls on item cards and detail list

Drill a `showFavorite` flag through the item-card tree (mirroring
`showRating`), and gate the card/detail-list favorite badges and hover
buttons on the `favoriteRatingControls` setting.

* Gate favorite controls in detail headers and album group controls

* Keep the original `showRatings` switch and add a `showFavorites`

* Gate album header favorite hander at definition
This commit is contained in:
Marc Plano-Lesay
2026-07-26 22:59:17 +10:00
committed by GitHub
parent d0710f3549
commit 07ef323ccc
15 changed files with 143 additions and 69 deletions
+3 -1
View File
@@ -1085,10 +1085,12 @@
"preferLocalLyrics": "Prefer local lyrics",
"showLyricsInSidebar_description": "A panel will be added to the attached play queue that displays the lyrics",
"showLyricsInSidebar": "Show lyrics in player sidebar",
"showFavorites": "Show favorites",
"showFavorites_description": "Controls if the favorite (heart) buttons show up in the interface",
"showQueueInSidebar_description": "A panel will be added to the player sidebar that displays the play queue",
"showQueueInSidebar": "Show play queue in player sidebar",
"showRatings_description": "Controls if the star ratings feature shows up in the interface",
"showRatings": "Show star ratings",
"showRatings_description": "Controls if the star ratings feature shows up in the interface",
"blurExplicitImages": "Blur explicit images",
"blurExplicitImages_description": "Album and song artwork tagged as explicit will be blurred",
"enableGridMultiSelect": "Enable grid multi-select",