mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-09-08 17:51:20 +02:00
Merge remote-tracking branch 'origin/V2' into auto-rename
This commit is contained in:
commit
c14cb009c2
@ -1,16 +1,16 @@
|
|||||||
|
import { useCallback } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { ToolType, useToolOperation } from '../shared/useToolOperation';
|
import { ToolType, useToolOperation, ToolOperationConfig } from '../shared/useToolOperation';
|
||||||
import { createStandardErrorHandler } from '../../../utils/toolErrorHandler';
|
import { createStandardErrorHandler } from '../../../utils/toolErrorHandler';
|
||||||
import { SplitParameters, defaultParameters } from './useSplitParameters';
|
import { SplitParameters, defaultParameters } from './useSplitParameters';
|
||||||
import { SPLIT_MODES } from '../../../constants/splitConstants';
|
import { SPLIT_MODES } from '../../../constants/splitConstants';
|
||||||
|
import { useToolResources } from '../shared/useToolResources';
|
||||||
|
|
||||||
// Static functions that can be used by both the hook and automation executor
|
// Static functions that can be used by both the hook and automation executor
|
||||||
export const buildSplitFormData = (parameters: SplitParameters, selectedFiles: File[]): FormData => {
|
export const buildSplitFormData = (parameters: SplitParameters, file: File): FormData => {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
|
|
||||||
selectedFiles.forEach(file => {
|
formData.append("fileInput", file);
|
||||||
formData.append("fileInput", file);
|
|
||||||
});
|
|
||||||
|
|
||||||
switch (parameters.mode) {
|
switch (parameters.mode) {
|
||||||
case SPLIT_MODES.BY_PAGES:
|
case SPLIT_MODES.BY_PAGES:
|
||||||
@ -57,7 +57,7 @@ export const getSplitEndpoint = (parameters: SplitParameters): string => {
|
|||||||
|
|
||||||
// Static configuration object
|
// Static configuration object
|
||||||
export const splitOperationConfig = {
|
export const splitOperationConfig = {
|
||||||
toolType: ToolType.multiFile,
|
toolType: ToolType.singleFile,
|
||||||
buildFormData: buildSplitFormData,
|
buildFormData: buildSplitFormData,
|
||||||
operationType: 'splitPdf',
|
operationType: 'splitPdf',
|
||||||
endpoint: getSplitEndpoint,
|
endpoint: getSplitEndpoint,
|
||||||
@ -67,9 +67,20 @@ export const splitOperationConfig = {
|
|||||||
|
|
||||||
export const useSplitOperation = () => {
|
export const useSplitOperation = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const { extractZipFiles } = useToolResources();
|
||||||
|
|
||||||
return useToolOperation<SplitParameters>({
|
// Custom response handler that extracts ZIP files
|
||||||
|
// Can't add to exported config because it requires access to the zip code so must be part of the hook
|
||||||
|
const responseHandler = useCallback(async (blob: Blob, originalFiles: File[]): Promise<File[]> => {
|
||||||
|
// Split operations return ZIP files with multiple PDF pages
|
||||||
|
return await extractZipFiles(blob);
|
||||||
|
}, [extractZipFiles]);
|
||||||
|
|
||||||
|
const splitConfig: ToolOperationConfig<SplitParameters> = {
|
||||||
...splitOperationConfig,
|
...splitOperationConfig,
|
||||||
|
responseHandler,
|
||||||
getErrorMessage: createStandardErrorHandler(t('split.error.failed', 'An error occurred while splitting the PDF.'))
|
getErrorMessage: createStandardErrorHandler(t('split.error.failed', 'An error occurred while splitting the PDF.'))
|
||||||
});
|
};
|
||||||
|
|
||||||
|
return useToolOperation(splitConfig);
|
||||||
};
|
};
|
||||||
|
@ -22,7 +22,5 @@ export function firePixel(pathname: string): void {
|
|||||||
const img = new Image();
|
const img = new Image();
|
||||||
img.referrerPolicy = "no-referrer-when-downgrade";
|
img.referrerPolicy = "no-referrer-when-downgrade";
|
||||||
img.src = url;
|
img.src = url;
|
||||||
|
|
||||||
console.log("ScarfPixel: Fire to... " + pathname);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user