Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/plugins/useFileManagerSwr.ts
7458 views
1
import useSWR from 'swr';
2
import loadDirectory, { FileObject } from '@/api/server/files/loadDirectory';
3
import { cleanDirectoryPath } from '@/helpers';
4
import { ServerContext } from '@/state/server';
5
6
export const getDirectorySwrKey = (uuid: string, directory: string): string => `${uuid}:files:${directory}`;
7
8
export default () => {
9
const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);
10
const directory = ServerContext.useStoreState((state) => state.files.directory);
11
12
return useSWR<FileObject[]>(
13
getDirectorySwrKey(uuid, directory),
14
() => loadDirectory(uuid, cleanDirectoryPath(directory)),
15
{
16
focusThrottleInterval: 30000,
17
revalidateOnMount: false,
18
refreshInterval: 0,
19
errorRetryCount: 2,
20
}
21
);
22
};
23
24