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