add toggle for single/multiple home feature carousel (#1581) (#1412)

This commit is contained in:
jeffvli
2026-01-22 01:18:34 -08:00
parent 39d691d528
commit a5541745c3
4 changed files with 66 additions and 1 deletions
+10
View File
@@ -385,6 +385,11 @@ const VisualizerSettingsSchema = z.object({
type: z.enum(['audiomotionanalyzer', 'butterchurn']),
});
export enum HomeFeatureStyle {
MULTIPLE = 'multiple',
SINGLE = 'single',
}
export const GeneralSettingsSchema = z.object({
accent: z
.string()
@@ -409,6 +414,7 @@ export const GeneralSettingsSchema = z.object({
followSystemTheme: z.boolean(),
genreTarget: GenreTargetSchema,
homeFeature: z.boolean(),
homeFeatureStyle: z.nativeEnum(HomeFeatureStyle),
homeItems: z.array(SortableItemSchema(HomeItemSchema)),
imageRes: z.object({
fullScreenPlayer: z.number(),
@@ -964,6 +970,7 @@ const initialState: SettingsState = {
followSystemTheme: false,
genreTarget: GenreTarget.TRACK,
homeFeature: true,
homeFeatureStyle: HomeFeatureStyle.SINGLE,
homeItems,
imageRes: {
fullScreenPlayer: 0,
@@ -2143,6 +2150,9 @@ export const useExternalLinks = () =>
export const useHomeFeature = () => useSettingsStore((state) => state.general.homeFeature, shallow);
export const useHomeFeatureStyle = () =>
useSettingsStore((state) => state.general.homeFeatureStyle);
export const useHomeItems = () => useSettingsStore((state) => state.general.homeItems, shallow);
export const useArtistItems = () => useSettingsStore((state) => state.general.artistItems, shallow);