diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b2141beb7..877b5c48a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -39,7 +39,7 @@ }, "devDependencies": { "@playwright/test": "^1.40.0", - "@types/node": "^24.2.0", + "@types/node": "^24.2.1", "@types/react": "^19.1.4", "@types/react-dom": "^19.1.5", "@vitejs/plugin-react": "^4.5.0", @@ -2386,10 +2386,11 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.0.tgz", - "integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==", + "version": "24.2.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.1.tgz", + "integrity": "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~7.10.0" } diff --git a/frontend/package.json b/frontend/package.json index b59be58e9..8154a9a1c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -65,7 +65,7 @@ }, "devDependencies": { "@playwright/test": "^1.40.0", - "@types/node": "^24.2.0", + "@types/node": "^24.2.1", "@types/react": "^19.1.4", "@types/react-dom": "^19.1.5", "@vitejs/plugin-react": "^4.5.0", diff --git a/frontend/src/hooks/tools/compress/useCompressOperation.ts b/frontend/src/hooks/tools/compress/useCompressOperation.ts index f4781e729..ebcac8b66 100644 --- a/frontend/src/hooks/tools/compress/useCompressOperation.ts +++ b/frontend/src/hooks/tools/compress/useCompressOperation.ts @@ -11,7 +11,7 @@ export interface CompressParameters { fileSizeUnit: 'KB' | 'MB'; } -const buildFormData = (file: File, parameters: CompressParameters): FormData => { +const buildFormData = (parameters: CompressParameters, file: File): FormData => { const formData = new FormData(); formData.append("fileInput", file); diff --git a/frontend/src/hooks/tools/ocr/useOCROperation.ts b/frontend/src/hooks/tools/ocr/useOCROperation.ts index 30294d8ce..5d3db412d 100644 --- a/frontend/src/hooks/tools/ocr/useOCROperation.ts +++ b/frontend/src/hooks/tools/ocr/useOCROperation.ts @@ -38,7 +38,7 @@ function stripExt(name: string): string { } // Signature must be (file, params) to match useToolApiCalls interface -const buildFormData = (file: File, parameters: OCRParameters): FormData => { +const buildFormData = (parameters: OCRParameters, file: File): FormData => { const formData = new FormData(); formData.append('fileInput', file); parameters.languages.forEach((lang) => formData.append('languages', lang)); diff --git a/frontend/src/hooks/tools/shared/useToolApiCalls.ts b/frontend/src/hooks/tools/shared/useToolApiCalls.ts index 854183d0a..ec0f398aa 100644 --- a/frontend/src/hooks/tools/shared/useToolApiCalls.ts +++ b/frontend/src/hooks/tools/shared/useToolApiCalls.ts @@ -5,7 +5,7 @@ import type { ProcessingProgress } from './useToolState'; export interface ApiCallsConfig { endpoint: string | ((params: TParams) => string); - buildFormData: (file: File, params: TParams) => FormData; + buildFormData: (params: TParams, file: File) => FormData; filePrefix: string; responseHandler?: ResponseHandler; } @@ -34,7 +34,7 @@ export const useToolApiCalls = () => { onStatus(`Processing ${file.name} (${i + 1}/${total})`); try { - const formData = config.buildFormData(file, params); + const formData = config.buildFormData(params, file); const endpoint = typeof config.endpoint === 'function' ? config.endpoint(params) : config.endpoint; const response = await axios.post(endpoint, formData, { responseType: 'blob', diff --git a/frontend/src/hooks/tools/shared/useToolOperation.ts b/frontend/src/hooks/tools/shared/useToolOperation.ts index bdd2d93b2..1e04cdc4c 100644 --- a/frontend/src/hooks/tools/shared/useToolOperation.ts +++ b/frontend/src/hooks/tools/shared/useToolOperation.ts @@ -170,7 +170,7 @@ export const useToolOperation = ( // Individual file processing - separate API call per file const apiCallsConfig: ApiCallsConfig = { endpoint: config.endpoint, - buildFormData: config.buildFormData as (file: File, params: TParams) => FormData, + buildFormData: config.buildFormData as (params: TParams, file: File) => FormData, filePrefix: config.filePrefix, responseHandler: config.responseHandler }; diff --git a/frontend/src/tools/OCR.tsx b/frontend/src/tools/OCR.tsx index 2cdd20587..b5e80d8bf 100644 --- a/frontend/src/tools/OCR.tsx +++ b/frontend/src/tools/OCR.tsx @@ -36,7 +36,7 @@ const OCR = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => { useEffect(() => { ocrOperation.resetResults(); onPreviewFile?.(null); - }, [ocrParams.parameters, selectedFiles]); + }, [ocrParams.parameters]); useEffect(() => { if (selectedFiles.length > 0 && expandedStep === 'files') { diff --git a/frontend/src/tools/Sanitize.tsx b/frontend/src/tools/Sanitize.tsx index 820b64429..19ec669c0 100644 --- a/frontend/src/tools/Sanitize.tsx +++ b/frontend/src/tools/Sanitize.tsx @@ -29,7 +29,7 @@ const Sanitize = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => { useEffect(() => { sanitizeOperation.resetResults(); onPreviewFile?.(null); - }, [sanitizeParams.parameters, selectedFiles]); + }, [sanitizeParams.parameters]); const handleSanitize = async () => { try { diff --git a/frontend/src/tools/Split.tsx b/frontend/src/tools/Split.tsx index e441ce83d..f480451d9 100644 --- a/frontend/src/tools/Split.tsx +++ b/frontend/src/tools/Split.tsx @@ -28,7 +28,7 @@ const Split = ({ onPreviewFile, onComplete, onError }: BaseToolProps) => { useEffect(() => { splitOperation.resetResults(); onPreviewFile?.(null); - }, [splitParams.parameters, selectedFiles]); + }, [splitParams.parameters]); const handleSplit = async () => { try {