Files
Stirling-PDF/frontend/src/hooks/useFileHandler.ts
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

27 lines
781 B
TypeScript
Raw Normal View History

2025-08-04 15:01:36 +01:00
import { useCallback } from 'react';
import { useFileContext } from '../contexts/FileContext';
export const useFileHandler = () => {
const { activeFiles, addFiles } = useFileContext();
const addToActiveFiles = useCallback(async (file: File) => {
const exists = activeFiles.some(f => f.name === file.name && f.size === file.size);
if (!exists) {
await addFiles([file]);
}
}, [activeFiles, addFiles]);
const addMultipleFiles = useCallback(async (files: File[]) => {
const newFiles = files.filter(file =>
!activeFiles.some(f => f.name === file.name && f.size === file.size)
);
if (newFiles.length > 0) {
await addFiles(newFiles);
}
}, [activeFiles, addFiles]);
return {
addToActiveFiles,
addMultipleFiles,
};
};