mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 04:20:12 +02:00
Reset default state on server change
This commit is contained in:
@@ -21,7 +21,7 @@ import { Settings } from '@/renderer/features/settings';
|
||||
import { usePermissions } from '@/renderer/features/shared';
|
||||
import { UserList } from '@/renderer/features/users';
|
||||
import { EditUserForm } from '@/renderer/features/users/components/edit-user-form';
|
||||
import { useAuthStore } from '@/renderer/store';
|
||||
import { useAppStore, useAuthStore } from '@/renderer/store';
|
||||
|
||||
export const AppMenu = () => {
|
||||
const queryClient = useQueryClient();
|
||||
@@ -30,6 +30,7 @@ export const AppMenu = () => {
|
||||
const currentServer = useAuthStore((state) => state.currentServer);
|
||||
const setCurrentServer = useAuthStore((state) => state.setCurrentServer);
|
||||
const serverCredentials = useAuthStore((state) => state.serverCredentials);
|
||||
const resetServerDefaults = useAppStore((state) => state.resetServerDefaults);
|
||||
const permissions = usePermissions();
|
||||
const { data: servers } = useServerList();
|
||||
const userId = useAuthStore((state) => state.permissions.id);
|
||||
@@ -94,6 +95,7 @@ export const AppMenu = () => {
|
||||
const server = servers?.data.find((s) => s.id === serverId);
|
||||
if (!server) return;
|
||||
setCurrentServer(server);
|
||||
resetServerDefaults();
|
||||
queryClient.invalidateQueries(queryKeys.server.root(serverId));
|
||||
};
|
||||
|
||||
|
||||
@@ -74,6 +74,7 @@ const DEFAULT_ADVANCED_FILTERS = {
|
||||
};
|
||||
|
||||
export interface AppSlice extends AppState {
|
||||
resetServerDefaults: () => void;
|
||||
setAppStore: (data: Partial<AppSlice>) => void;
|
||||
setPage: (page: 'albums', options: Partial<LibraryPageProps>) => void;
|
||||
setSidebar: (options: Partial<SidebarProps>) => void;
|
||||
@@ -104,6 +105,19 @@ export const useAppStore = create<AppSlice>()(
|
||||
},
|
||||
isReorderingQueue: false,
|
||||
platform: Platform.WINDOWS,
|
||||
resetServerDefaults: () => {
|
||||
set((state) => {
|
||||
state.albums.list = {
|
||||
...state.albums.list,
|
||||
filter: {
|
||||
...state.albums.list.filter,
|
||||
serverFolderId: [],
|
||||
},
|
||||
gridScrollOffset: 0,
|
||||
listScrollOffset: 0,
|
||||
};
|
||||
});
|
||||
},
|
||||
setAppStore: (data) => {
|
||||
set({ ...get(), ...data });
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user