From d75864514412f4dc761a3f9ae7e8fb38e27fbe41 Mon Sep 17 00:00:00 2001 From: Abhishek S Lal Date: Fri, 2 Jan 2026 20:57:51 +0530 Subject: [PATCH] feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components (#6623) * feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components * refactor: remove duplicate "Rename" item push in CollectionItem component --- .../src/components/ManageWorkspace/index.js | 3 ++- .../Collection/CollectionItem/index.js | 16 ++++++++++------ .../Sidebar/Collections/Collection/index.js | 3 ++- .../src/components/WorkspaceHome/index.js | 3 ++- packages/bruno-app/src/utils/common/platform.js | 6 ++++++ 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/bruno-app/src/components/ManageWorkspace/index.js b/packages/bruno-app/src/components/ManageWorkspace/index.js index f0cd0cd4c..277df57d0 100644 --- a/packages/bruno-app/src/components/ManageWorkspace/index.js +++ b/packages/bruno-app/src/components/ManageWorkspace/index.js @@ -14,6 +14,7 @@ import DeleteWorkspace from './DeleteWorkspace'; import StyledWrapper from './StyledWrapper'; import MenuDropdown from 'ui/MenuDropdown/index'; import Button from 'ui/Button'; +import { getRevealInFolderLabel } from 'utils/common/platform'; const ManageWorkspace = () => { const dispatch = useDispatch(); @@ -133,7 +134,7 @@ const ManageWorkspace = () => { onClick={() => handleShowInFolder(workspace)} > - Show in folder + {getRevealInFolderLabel()} )} {!isDefault && ( diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js index 8ba2861ff..e3f4e78c8 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js @@ -49,6 +49,7 @@ import { isTabForItemActive as isTabForItemActiveSelector, isTabForItemPresent a import { isEqual } from 'lodash'; import { calculateDraggedItemNewPathname, getInitialExampleName, findParentItemInCollection } from 'utils/collections/index'; import { sortByNameThenSequence } from 'utils/common/index'; +import { getRevealInFolderLabel } from 'utils/common/platform'; import CreateExampleModal from 'components/ResponseExample/CreateExampleModal'; import { openDevtoolsAndSwitchToTerminal } from 'utils/terminal'; import ActionIcon from 'ui/ActionIcon'; @@ -345,12 +346,6 @@ const CollectionItem = ({ item, collectionUid, collectionPathname, searchText }) leftSection: IconEdit, label: 'Rename', onClick: () => setRenameItemModalOpen(true) - }, - { - id: 'show-in-folder', - leftSection: IconFolder, - label: 'Show in Folder', - onClick: handleShowInFolder } ); if (!isFolder && isItemARequest(item) && !(item.type === 'http-request' || item.type === 'graphql-request')) { @@ -382,6 +377,15 @@ const CollectionItem = ({ item, collectionUid, collectionPathname, searchText }) }); } + items.push( + { + id: 'show-in-folder', + leftSection: IconFolder, + label: getRevealInFolderLabel(), + onClick: handleShowInFolder + } + ); + items.push({ id: 'separator-1', type: 'divider' }); items.push({ diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/index.js index e5438fc1a..049de9eca 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/index.js @@ -44,6 +44,7 @@ import ShareCollection from 'components/ShareCollection/index'; import GenerateDocumentation from './GenerateDocumentation'; import { CollectionItemDragPreview } from './CollectionItem/CollectionItemDragPreview/index'; import { sortByNameThenSequence } from 'utils/common/index'; +import { getRevealInFolderLabel } from 'utils/common/platform'; import { openDevtoolsAndSwitchToTerminal } from 'utils/terminal'; import ActionIcon from 'ui/ActionIcon'; import MenuDropdown from 'ui/MenuDropdown'; @@ -360,7 +361,7 @@ const Collection = ({ collection, searchText }) => { { id: 'show-in-folder', leftSection: IconFolder, - label: 'Show in File Explorer', + label: getRevealInFolderLabel(), onClick: handleShowInFolder }, { diff --git a/packages/bruno-app/src/components/WorkspaceHome/index.js b/packages/bruno-app/src/components/WorkspaceHome/index.js index 690f376a5..db27824b0 100644 --- a/packages/bruno-app/src/components/WorkspaceHome/index.js +++ b/packages/bruno-app/src/components/WorkspaceHome/index.js @@ -10,6 +10,7 @@ import WorkspaceEnvironments from './WorkspaceEnvironments'; import WorkspaceTabs from 'components/WorkspaceTabs'; import StyledWrapper from './StyledWrapper'; import Dropdown from 'components/Dropdown'; +import { getRevealInFolderLabel } from 'utils/common/platform'; const WorkspaceHome = () => { const dispatch = useDispatch(); @@ -225,7 +226,7 @@ const WorkspaceHome = () => {
- Show in Folder + {getRevealInFolderLabel()}
diff --git a/packages/bruno-app/src/utils/common/platform.js b/packages/bruno-app/src/utils/common/platform.js index ee48e8a17..687b19c3d 100644 --- a/packages/bruno-app/src/utils/common/platform.js +++ b/packages/bruno-app/src/utils/common/platform.js @@ -40,6 +40,12 @@ export const isLinuxOS = () => { return osFamily.includes('linux') || osFamily.includes('ubuntu') || osFamily.includes('debian') || osFamily.includes('fedora') || osFamily.includes('centos') || osFamily.includes('arch'); }; +export const getRevealInFolderLabel = () => { + if (isMacOS()) return 'Reveal in Finder'; + if (isWindowsOS()) return 'Reveal in File Explorer'; + return 'Reveal in File Manager'; +}; + export const getAppInstallDate = () => { let dateString = localStorage.getItem('bruno.installedOn');