Files
Kazier/mobile/hooks/useUploadQueue.ts
T
2026-07-29 19:24:13 +02:00

18 lines
523 B
TypeScript

import { useSyncExternalStore } from 'react';
import { uploadQueue, UploadFile } from '../services/uploadQueue';
export function useUploadQueue() {
const tasks = useSyncExternalStore(
uploadQueue.subscribe.bind(uploadQueue),
uploadQueue.getTasks.bind(uploadQueue),
);
return {
tasks,
enqueue: (files: UploadFile[]) => uploadQueue.enqueue(files),
cancel: (id: string) => uploadQueue.cancel(id),
retry: (id: string) => uploadQueue.retry(id),
retryAll: () => uploadQueue.retryAll(),
};
}