add setting to override theme primary shade (#1791)

This commit is contained in:
jeffvli
2026-03-04 20:58:30 -08:00
parent 884dcde289
commit 93791aea15
5 changed files with 80 additions and 4 deletions
+6
View File
@@ -462,6 +462,7 @@ export const GeneralSettingsSchema = z.object({
playerbarOpenDrawer: z.boolean(),
playerbarSlider: PlayerbarSliderSchema,
playlistTarget: PlaylistTargetSchema,
primaryShade: z.number().min(0).max(9),
resume: z.boolean(),
showLyricsInSidebar: z.boolean(),
showRatings: z.boolean(),
@@ -479,6 +480,7 @@ export const GeneralSettingsSchema = z.object({
themeDark: z.nativeEnum(AppTheme),
themeLight: z.nativeEnum(AppTheme),
useThemeAccentColor: z.boolean(),
useThemePrimaryShade: z.boolean(),
volumeWheelStep: z.number(),
volumeWidth: z.number(),
zoomFactor: z.number(),
@@ -1051,6 +1053,7 @@ const initialState: SettingsState = {
type: PlayerbarSliderType.SLIDER,
},
playlistTarget: PlaylistTarget.TRACK,
primaryShade: 6,
resume: true,
showLyricsInSidebar: true,
showRatings: true,
@@ -1072,6 +1075,7 @@ const initialState: SettingsState = {
themeDark: AppTheme.DEFAULT_DARK,
themeLight: AppTheme.DEFAULT_LIGHT,
useThemeAccentColor: false,
useThemePrimaryShade: true,
volumeWheelStep: 5,
volumeWidth: 70,
zoomFactor: 100,
@@ -2371,10 +2375,12 @@ export const useThemeSettings = () =>
useSettingsStore(
(state) => ({
followSystemTheme: state.general.followSystemTheme,
primaryShade: state.general.primaryShade,
theme: state.general.theme,
themeDark: state.general.themeDark,
themeLight: state.general.themeLight,
useThemeAccentColor: state.general.useThemeAccentColor,
useThemePrimaryShade: state.general.useThemePrimaryShade,
}),
shallow,
);