Fix drag and drop and add file at page

This commit is contained in:
Reece Browne 2025-08-26 14:53:21 +01:00
parent 75f9cd81d1
commit 53ac963e17
2 changed files with 12 additions and 13 deletions

View File

@ -139,9 +139,7 @@ const PageThumbnail: React.FC<PageThumbnailProps> = ({
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<PageThumbnailProps> = ({
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<PageThumbnailProps> = ({
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<PageThumbnailProps> = ({
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);

View File

@ -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);