Skip to content

Commit

Permalink
Review changes and minor-refactoring in Reveal in Finder feature
Browse files Browse the repository at this point in the history
  • Loading branch information
ramki-bruno committed Jan 13, 2025
1 parent 1b94908 commit 7613777
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { useDrag, useDrop } from 'react-dnd';
import { IconChevronRight, IconDots } from '@tabler/icons';
import { useSelector, useDispatch } from 'react-redux';
import { addTab, focusTab } from 'providers/ReduxStore/slices/tabs';
import { moveItem, revealInFinder, sendRequest } from 'providers/ReduxStore/slices/collections/actions';
import { moveItem, showInFolder, sendRequest } from 'providers/ReduxStore/slices/collections/actions';
import { collectionFolderClicked } from 'providers/ReduxStore/slices/collections';
import Dropdown from 'components/Dropdown';
import NewRequest from 'components/Sidebar/NewRequest';
Expand Down Expand Up @@ -227,9 +227,10 @@ const CollectionItem = ({ item, collection, searchText }) => {
}
};

const handleReveal = () => {
dispatch(revealInFinder(item.pathname)).catch((error) => {
toast.error('Error revealing file:', error);
const handleShowInFolder = () => {
dispatch(showInFolder(item.pathname)).catch((error) => {
console.error('Error opening the folder', error);
toast.error('Error opening the folder');
});
};

Expand Down Expand Up @@ -384,17 +385,15 @@ const CollectionItem = ({ item, collection, searchText }) => {
Generate Code
</div>
)}
{!isFolder && (
<div
className="dropdown-item"
onClick={(e) => {
dropdownTippyRef.current.hide();
handleReveal();
}}
>
Reveal in Finder
</div>
)}
<div
className="dropdown-item"
onClick={(e) => {
dropdownTippyRef.current.hide();
handleShowInFolder();
}}
>
Show in Folder
</div>
<div
className="dropdown-item delete-item"
onClick={(e) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1194,11 +1194,9 @@ export const hydrateCollectionWithUiStateSnapshot = (payload) => (dispatch, getS
});
};

export const revealInFinder = (collectionPath) => () => {
export const showInFolder = (collectionPath) => () => {
return new Promise((resolve, reject) => {
const { ipcRenderer } = window;

ipcRenderer.invoke('renderer:reveal-in-finder', collectionPath).then(resolve).catch(reject);
ipcRenderer.invoke('renderer:show-in-folder', collectionPath).then(resolve).catch(reject);
});
};

38 changes: 7 additions & 31 deletions packages/bruno-electron/src/ipc/collection.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ const fs = require('fs');
const fsExtra = require('fs-extra');
const os = require('os');
const path = require('path');
const { exec } = require('child_process');
const { ipcMain, shell, dialog, app } = require('electron');
const { envJsonToBru, bruToJson, jsonToBru, jsonToCollectionBru } = require('../bru');

Expand Down Expand Up @@ -778,40 +777,17 @@ const registerRendererEventHandlers = (mainWindow, watcher, lastOpenedCollection
}
});

ipcMain.handle('renderer:reveal-in-finder', async (event, filePath) => {
ipcMain.handle('renderer:show-in-folder', async (event, filePath) => {
try {
if (!filePath) {
throw new Error('File path is required.');
}

const resolvedPath = path.resolve(filePath);

if (!fs.existsSync(resolvedPath)) {
throw new Error('The specified file does not exist.');
}

console.log(process.platform, "process.platform")

switch (process.platform) {
case 'darwin': // macOS
shell.showItemInFolder(resolvedPath);
break;
case 'win32': // Windows
shell.showItemInFolder(resolvedPath);
break;
case 'linux': // Linux
exec(`xdg-open "${resolvedPath}"`);
break;
default:
throw new Error('Unsupported platform.');
}

return { success: true };
throw new Error('File path is required');
}
shell.showItemInFolder(filePath);
} catch (error) {
console.error('Error in reveal-in-finder:', error);
return { success: false, message: error.message };
console.error('Error in show-in-folder: ', error);
throw new Error(error);
}
});
});
};

const registerMainEventHandlers = (mainWindow, watcher, lastOpenedCollections) => {
Expand Down

0 comments on commit 7613777

Please sign in to comment.