feat(merge): Migrate merge operations to Web Workers and reorganize tool categories

- Create merge.worker.js and alternate-merge.worker.js for offloading PDF merge operations to background threads
- Migrate merge and alternate-merge logic to use Web Worker architecture for improved performance
- Move flatten tool from singlePdfLoadTools to multiFileTools configuration
- Update merge and alternate-merge tool subtitles to indicate bookmark preservation
- Refactor alternate-merge.ts to use Web Worker instead of pdf-lib for interleaving operations
- Refactor merge.ts to use Web Worker for standard merge operations
- Update fileHandler.ts to recognize flatten as a multi-file tool requiring process button handling
- Simplify form-creator.ts and flatten.ts implementations with Web Worker integration
- Update UI state management to support Web Worker-based PDF processing
- Improve performance by moving computationally intensive PDF operations off the main thread
This commit is contained in:
abdullahalam123
2025-11-28 20:49:49 +05:30
parent 6b7163991e
commit 8651ca366f
10 changed files with 693 additions and 200 deletions

View File

@@ -754,7 +754,7 @@ export function setupFileInputHandler(toolId) {
}
if (isMultiFileTool) {
if (toolId === 'txt-to-pdf' || toolId === 'compress' || toolId === 'extract-attachments') {
if (toolId === 'txt-to-pdf' || toolId === 'compress' || toolId === 'extract-attachments' || toolId === 'flatten') {
const processBtn = document.getElementById('process-btn');
if (processBtn) {
(processBtn as HTMLButtonElement).disabled = false;