redesign artist page (#416) (#447)

This commit is contained in:
jeffvli
2025-12-26 21:13:04 -08:00
parent 06e757d3b2
commit 796e511626
11 changed files with 565 additions and 216 deletions
+15
View File
@@ -3,10 +3,12 @@ import { devtools, persist } from 'zustand/middleware';
import { immer } from 'zustand/middleware/immer';
import { createWithEqualityFn } from 'zustand/traditional';
import { AlbumListSort, SortOrder } from '/@/shared/types/domain-types';
import { Platform } from '/@/shared/types/types';
export interface AppSlice extends AppState {
actions: {
setAlbumArtistDetailSort: (sortBy: AlbumListSort, sortOrder: SortOrder) => void;
setAppStore: (data: Partial<AppSlice>) => void;
setPageSidebar: (key: string, value: boolean) => void;
setPrivateMode: (enabled: boolean) => void;
@@ -17,6 +19,10 @@ export interface AppSlice extends AppState {
}
export interface AppState {
albumArtistDetailSort: {
sortBy: AlbumListSort;
sortOrder: SortOrder;
};
commandPalette: CommandPaletteProps;
isReorderingQueue: boolean;
pageSidebar: Record<string, boolean>;
@@ -53,6 +59,11 @@ export const useAppStore = createWithEqualityFn<AppSlice>()(
devtools(
immer((set, get) => ({
actions: {
setAlbumArtistDetailSort: (sortBy, sortOrder) => {
set((state) => {
state.albumArtistDetailSort = { sortBy, sortOrder };
});
},
setAppStore: (data) => {
set({ ...get(), ...data });
},
@@ -86,6 +97,10 @@ export const useAppStore = createWithEqualityFn<AppSlice>()(
});
},
},
albumArtistDetailSort: {
sortBy: AlbumListSort.RELEASE_DATE,
sortOrder: SortOrder.DESC,
},
commandPalette: {
close: () => {
set((state) => {