diff --git a/frontend/src/contexts/file/fileActions.ts b/frontend/src/contexts/file/fileActions.ts index 373a28a6a..3901fabee 100644 --- a/frontend/src/contexts/file/fileActions.ts +++ b/frontend/src/contexts/file/fileActions.ts @@ -6,7 +6,7 @@ import { StirlingFileStub, FileContextAction, FileContextState, - toWorkbenchFile, + toStirlingFileStub, createFileId, createQuickKey } from '../../types/fileContext'; @@ -163,7 +163,7 @@ export async function addFiles( } // Create record with immediate thumbnail and page metadata - const record = toWorkbenchFile(file, fileId); + const record = toStirlingFileStub(file, fileId); if (thumbnail) { record.thumbnailUrl = thumbnail; // Track blob URLs for cleanup (images return blob URLs that need revocation) @@ -205,7 +205,7 @@ export async function addFiles( const fileId = createFileId(); filesRef.current.set(fileId, file); - const record = toWorkbenchFile(file, fileId); + const record = toStirlingFileStub(file, fileId); if (thumbnail) { record.thumbnailUrl = thumbnail; // Track blob URLs for cleanup (images return blob URLs that need revocation) @@ -254,7 +254,7 @@ export async function addFiles( filesRef.current.set(fileId, file); - const record = toWorkbenchFile(file, fileId); + const record = toStirlingFileStub(file, fileId); // Generate processedFile metadata for stored files let pageCount: number = 1; @@ -347,7 +347,7 @@ async function processFilesIntoRecords( if (DEBUG) console.warn(`📄 Failed to generate thumbnail for file ${file.name}:`, error); } - const record = toWorkbenchFile(file, fileId); + const record = toStirlingFileStub(file, fileId); if (thumbnail) { record.thumbnailUrl = thumbnail; } diff --git a/frontend/src/types/fileContext.ts b/frontend/src/types/fileContext.ts index 7ea8bc733..f5d4cef0a 100644 --- a/frontend/src/types/fileContext.ts +++ b/frontend/src/types/fileContext.ts @@ -46,7 +46,7 @@ export interface ProcessedFileMetadata { /** * StirlingFileStub - Metadata record for files in the active workbench session - * + * * Contains UI display data and processing state. Actual File objects stored * separately in refs for memory efficiency. Supports multi-tool workflows * where files persist across tool operations. @@ -117,7 +117,7 @@ export function createStirlingFile(file: File, id?: FileId): StirlingFile { enumerable: true, configurable: false }); - + Object.defineProperty(file, 'quickKey', { value: quickKey, writable: false, @@ -150,7 +150,10 @@ export function isFileObject(obj: any): obj is File | StirlingFile { -export function toWorkbenchFile(file: File, id?: FileId): StirlingFileStub { +export function toStirlingFileStub( + file: File, + id?: FileId +): StirlingFileStub { const fileId = id || createFileId(); return { id: fileId, @@ -350,6 +353,3 @@ export interface FileContextActionsValue { actions: FileContextActions; dispatch: (action: FileContextAction) => void; } - -// TODO: URL parameter types will be redesigned for new routing system -