From 53ac963e17d7928a541e0ba9ab5ebacb5a4d804c Mon Sep 17 00:00:00 2001 From: Reece Browne Date: Tue, 26 Aug 2025 14:53:21 +0100 Subject: [PATCH] Fix drag and drop and add file at page --- .../src/components/pageEditor/PageThumbnail.tsx | 15 ++------------- frontend/src/contexts/file/fileActions.ts | 10 ++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/frontend/src/components/pageEditor/PageThumbnail.tsx b/frontend/src/components/pageEditor/PageThumbnail.tsx index 500c7d08f..c59c601fc 100644 --- a/frontend/src/components/pageEditor/PageThumbnail.tsx +++ b/frontend/src/components/pageEditor/PageThumbnail.tsx @@ -139,9 +139,7 @@ const PageThumbnail: React.FC = ({ getInitialData: () => ({ pageNumber: page.pageNumber, pageId: page.id, - selectedPages: selectionMode && selectedPages.includes(page.pageNumber) - ? selectedPages - : [page.pageNumber] + selectedPages: [page.pageNumber] }), onDragStart: () => { setIsDragging(true); @@ -160,12 +158,7 @@ const PageThumbnail: React.FC = ({ const targetPageNumber = targetData.pageNumber as number; const targetIndex = pdfDocument.pages.findIndex(p => p.pageNumber === targetPageNumber); if (targetIndex !== -1) { - const pagesToMove = selectionMode && selectedPages.includes(page.pageNumber) - ? selectedPages - : undefined; - // Trigger animation for drag & drop - onAnimateReorder(); - onReorderPages(page.pageNumber, targetIndex, pagesToMove); + onReorderPages(page.pageNumber, targetIndex, undefined); } } } @@ -454,8 +447,6 @@ const PageThumbnail: React.FC = ({ e.stopPropagation(); if (index > 0 && !movingPage && !isAnimating) { onSetMovingPage(page.pageNumber); - // Trigger animation - onAnimateReorder(); // Actually move the page left (swap with previous page) onReorderPages(page.pageNumber, index - 1); setTimeout(() => onSetMovingPage(null), 650); @@ -477,8 +468,6 @@ const PageThumbnail: React.FC = ({ e.stopPropagation(); if (index < totalPages - 1 && !movingPage && !isAnimating) { onSetMovingPage(page.pageNumber); - // Trigger animation - onAnimateReorder(); // Actually move the page right (swap with next page) onReorderPages(page.pageNumber, index + 1); setTimeout(() => onSetMovingPage(null), 650); diff --git a/frontend/src/contexts/file/fileActions.ts b/frontend/src/contexts/file/fileActions.ts index c8efac3db..c74fa66a5 100644 --- a/frontend/src/contexts/file/fileActions.ts +++ b/frontend/src/contexts/file/fileActions.ts @@ -209,6 +209,11 @@ export async function addFiles( } } + // Store insertion position if provided + if (options.insertAfterPageId !== undefined) { + record.insertAfterPageId = options.insertAfterPageId; + } + // Create processedFile with provided metadata if (pageCount > 0) { record.processedFile = createProcessedFile(pageCount, thumbnail); @@ -279,6 +284,11 @@ export async function addFiles( } } + // Store insertion position if provided + if (options.insertAfterPageId !== undefined) { + record.insertAfterPageId = options.insertAfterPageId; + } + // Create processedFile metadata with correct page count if (pageCount > 0) { record.processedFile = createProcessedFile(pageCount, metadata.thumbnail);