diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx index f31a6e9fd8..7a077fba7b 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx @@ -164,18 +164,28 @@ const PinItemToWorkspace = memo(({ workspace, docPath, item }) => {
setHover(true)} onMouseLeave={() => setHover(false)} - className="flex gap-x-2 items-center hover:bg-theme-file-picker-hover p-[2px] rounded ml-2" + onClick={updatePinStatus} + className="flex items-center ml-2 cursor-pointer" + data-tooltip-id="pin-document" + data-tooltip-content={ + pinned ? "Un-pin from workspace" : "Pin to workspace" + } > - + {pinned ? ( +
+

+ {hover ? "Un-pin" : "Pinned"} +

+
+ ) : ( + + )}
); }); diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx index 4a30b86b07..0190041ca1 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx @@ -162,7 +162,11 @@ function WorkspaceDirectory({
{files.items.some((folder) => folder.items.length > 0) || movedItems.length > 0 ? ( - + {({ item, folder }) => ( { ); }); -function RenderFileRows({ files, movedItems, children }) { +function RenderFileRows({ files, movedItems, children, workspace }) { function sortMovedItemsAndFiles(a, b) { const aIsMovedItem = movedItems.some((movedItem) => movedItem.id === a.id); const bIsMovedItem = movedItems.some((movedItem) => movedItem.id === b.id); if (aIsMovedItem && !bIsMovedItem) return -1; if (!aIsMovedItem && bIsMovedItem) return 1; + + // Sort pinned items to the top + const aIsPinned = a.pinnedWorkspaces?.includes(workspace.id); + const bIsPinned = b.pinnedWorkspaces?.includes(workspace.id); + if (aIsPinned && !bIsPinned) return -1; + if (!aIsPinned && bIsPinned) return 1; + return 0; }