diff --git a/packages/bruno-app/src/components/FolderSettings/index.js b/packages/bruno-app/src/components/FolderSettings/index.js index e9b26c084..966c36b36 100644 --- a/packages/bruno-app/src/components/FolderSettings/index.js +++ b/packages/bruno-app/src/components/FolderSettings/index.js @@ -19,8 +19,8 @@ const FolderSettings = ({ collection, folder }) => { const setTab = (tab) => { dispatch( updatedFolderSettingsSelectedTab({ - collectionUid: collection.uid, - folderUid: folder.uid, + collectionUid: collection?.uid, + folderUid: folder?.uid, tab }) ); 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 9fce06eec..6e5947e58 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 @@ -189,16 +189,28 @@ const CollectionItem = ({ item, collection, searchText }) => { toast.error('URL is required'); } }; + const viewFolderSettings = () => { - dispatch( - addTab({ - uid: uuid(), - collectionUid: collection.uid, - folderUid: item.uid, - type: 'folder-settings' - }) - ); + if (isItemAFolder(item)) { + if (itemIsOpenedInTabs(item, tabs)) { + dispatch( + focusTab({ + uid: item.uid + }) + ); + return; + } + dispatch( + addTab({ + uid: item.uid, + collectionUid: collection.uid, + type: 'folder-settings' + }) + ); + return; + } }; + const requestItems = sortRequestItems(filter(item.items, (i) => isItemARequest(i))); const folderItems = sortFolderItems(filter(item.items, (i) => isItemAFolder(i))); diff --git a/packages/bruno-app/src/providers/ReduxStore/slices/tabs.js b/packages/bruno-app/src/providers/ReduxStore/slices/tabs.js index b1de355a6..7c7038280 100644 --- a/packages/bruno-app/src/providers/ReduxStore/slices/tabs.js +++ b/packages/bruno-app/src/providers/ReduxStore/slices/tabs.js @@ -41,7 +41,7 @@ export const tabsSlice = createSlice({ requestPaneTab: action.payload.requestPaneTab || 'params', responsePaneTab: 'response', type: action.payload.type || 'request', - ...(action.payload.folderUid ? { folderUid: action.payload.folderUid } : {}) + ...(action.payload.uid ? { folderUid: action.payload.uid } : {}) }); state.activeTabUid = action.payload.uid; },