import { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { createToolFlow } from "../components/tools/shared/createToolFlow"; import SplitSettings from "../components/tools/split/SplitSettings"; import { useSplitParameters } from "../hooks/tools/split/useSplitParameters"; import { useSplitOperation } from "../hooks/tools/split/useSplitOperation"; import { useBaseTool } from "../hooks/tools/shared/useBaseTool"; import { BaseToolProps, ToolComponent } from "../types/tool"; const Split = (props: BaseToolProps) => { const { t } = useTranslation(); const base = useBaseTool( 'split', useSplitParameters, useSplitOperation, props ); return createToolFlow({ files: { selectedFiles: base.selectedFiles, isCollapsed: base.hasResults, }, steps: [ { title: "Settings", isCollapsed: base.settingsCollapsed, onCollapsedClick: base.hasResults ? base.handleSettingsReset : undefined, content: ( ), }, ], executeButton: { text: t("split.submit", "Split PDF"), loadingText: t("loading"), onClick: base.handleExecute, isVisible: !base.hasResults, disabled: !base.params.validateParameters() || !base.hasFiles || !base.endpointEnabled, }, review: { isVisible: base.hasResults, operation: base.operation, title: "Split Results", onFileClick: base.handleThumbnailClick, }, }); }; export default Split as ToolComponent;