import useSWR from 'swr'; import { loadDirectory, FileObject } from '@/api/server/files'; import { cleanDirectoryPath } from '@/helpers'; import { ServerContext } from '@/state/server'; export const getDirectorySwrKey = (uuid: string, directory: string): string => `${uuid}:files:${directory}`; export default () => { const uuid = ServerContext.useStoreState(state => state.server.data!.uuid); const directory = ServerContext.useStoreState(state => state.files.directory); return useSWR( getDirectorySwrKey(uuid, directory), () => loadDirectory(uuid, cleanDirectoryPath(directory)), { focusThrottleInterval: 30000, revalidateOnMount: false, refreshInterval: 0, errorRetryCount: 2, }, ); };