diff --git a/projects/frontend/src/components/FileBrowser/FileBrowser.jsx b/projects/frontend/src/components/FileBrowser/FileBrowser.jsx
index a7156b8..aef756b 100644
--- a/projects/frontend/src/components/FileBrowser/FileBrowser.jsx
+++ b/projects/frontend/src/components/FileBrowser/FileBrowser.jsx
@@ -491,7 +491,7 @@ const FileBrowser = () => {
}`}
>
- Needs Collection ({collectionPaths.length})
+ Files That Need Collection
diff --git a/projects/frontend/src/components/FileUpload/FileUpload.tsx b/projects/frontend/src/components/FileUpload/FileUpload.tsx
index b395cd7..0874b02 100644
--- a/projects/frontend/src/components/FileUpload/FileUpload.tsx
+++ b/projects/frontend/src/components/FileUpload/FileUpload.tsx
@@ -756,6 +756,25 @@ const FileUpload: React.FC = () => {
)}
+
+
{successCount > 0 && (
- {fileName} -
- {linking.link_type && ( - - {linking.link_type} - - )} - - {direction} - - {fileInfo && ( - - {fileInfo.status.replace(/_/g, ' ')} - + linkedFiles.forEach((linking) => { + const linkedPath = getLinkedFilePath(linking, filePath); + const normalizedLinkedPath = linkedPath.replace(/\\/g, '/'); + const direction = getRelationshipDirection(linking, filePath); + + if (groupedFiles.has(normalizedLinkedPath)) { + const existing = groupedFiles.get(normalizedLinkedPath); + existing.directions.add(direction); + existing.linkTypes.add(linking.link_type); + } else { + groupedFiles.set(normalizedLinkedPath, { + linkedPath, + normalizedLinkedPath, + directions: new Set([direction]), + linkTypes: new Set([linking.link_type].filter(Boolean)), + linkingId: linking.linking_id + }); + } + }); + + return Array.from(groupedFiles.values()).map((group) => { + const fileName = group.linkedPath.split(/[\/\\]/).pop() || group.linkedPath; + + // Get file status info - try both normalized and original path + let fileInfo = fileStatusMap.get(group.normalizedLinkedPath) || fileStatusMap.get(group.linkedPath); + const isCollected = fileInfo?.status === 'collected' && fileInfo?.object_id; + + return ( +- {linkedPath} -
++ {fileName} +
+ {Array.from(group.linkTypes).map((linkType) => ( + + {linkType} + + ))} + {Array.from(group.directions).map((direction) => ( + + {direction} + + ))} + {fileInfo && !isCollected && ( + + {fileInfo.status.replace(/_/g, ' ')} + + )} +handleFileClick(group.linkedPath, fileInfo) : undefined} + title={isCollected ? "Click to navigate to file" : undefined} + > + {group.linkedPath} +
+