Path: blob/1.0-develop/resources/scripts/plugins/useFileManagerSwr.ts
7458 views
import useSWR from 'swr';1import loadDirectory, { FileObject } from '@/api/server/files/loadDirectory';2import { cleanDirectoryPath } from '@/helpers';3import { ServerContext } from '@/state/server';45export const getDirectorySwrKey = (uuid: string, directory: string): string => `${uuid}:files:${directory}`;67export default () => {8const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);9const directory = ServerContext.useStoreState((state) => state.files.directory);1011return useSWR<FileObject[]>(12getDirectorySwrKey(uuid, directory),13() => loadDirectory(uuid, cleanDirectoryPath(directory)),14{15focusThrottleInterval: 30000,16revalidateOnMount: false,17refreshInterval: 0,18errorRetryCount: 2,19}20);21};222324