mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-16 21:50:35 +02:00
update query persistence to hooks
This commit is contained in:
@@ -2,12 +2,10 @@ import { useQuery } from '@tanstack/react-query';
|
||||
|
||||
import { sharedQueries } from '/@/renderer/features/shared/api/shared-api';
|
||||
import { FolderButton } from '/@/renderer/features/shared/components/folder-button';
|
||||
import { FILTER_KEYS } from '/@/renderer/features/shared/utils';
|
||||
import { useMusicFolderIdFilter } from '/@/renderer/features/shared/hooks/use-music-folder-id-filter';
|
||||
import { useCurrentServer } from '/@/renderer/store';
|
||||
import { DropdownMenu } from '/@/shared/components/dropdown-menu/dropdown-menu';
|
||||
import { useLocalStorage } from '/@/shared/hooks/use-local-storage';
|
||||
import { ItemListKey } from '/@/shared/types/types';
|
||||
import { useMusicFolderIdFilter } from '/@/renderer/features/shared/hooks/use-music-folder-id-filter';
|
||||
|
||||
interface ListMusicFolderDropdownProps {
|
||||
listKey: ItemListKey;
|
||||
@@ -19,22 +17,15 @@ export const ListMusicFolderDropdown = ({ listKey }: ListMusicFolderDropdownProp
|
||||
sharedQueries.musicFolders({ query: null, serverId: server.id }),
|
||||
);
|
||||
|
||||
const [persisted, setPersisted] = useLocalStorage({
|
||||
defaultValue: '',
|
||||
key: getPersistenceKey(server.id, listKey),
|
||||
});
|
||||
|
||||
const { musicFolderId, setMusicFolderId } = useMusicFolderIdFilter(persisted);
|
||||
const { musicFolderId, setMusicFolderId } = useMusicFolderIdFilter('', listKey);
|
||||
|
||||
const handleSetMusicFolder = (e: string) => {
|
||||
if (e === musicFolderId) {
|
||||
setMusicFolderId('');
|
||||
setPersisted('');
|
||||
return;
|
||||
}
|
||||
|
||||
setMusicFolderId(e);
|
||||
setPersisted(e);
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -57,7 +48,3 @@ export const ListMusicFolderDropdown = ({ listKey }: ListMusicFolderDropdownProp
|
||||
</DropdownMenu>
|
||||
);
|
||||
};
|
||||
|
||||
const getPersistenceKey = (serverId: string, listKey: ItemListKey) => {
|
||||
return `${serverId}-list-${listKey}-${FILTER_KEYS.SHARED.MUSIC_FOLDER_ID}`;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user