feat: add handlers + preloads

This commit is contained in:
4rjunc
2026-03-15 17:46:52 +05:30
parent badadabd85
commit 2d42f0236e
2 changed files with 32 additions and 0 deletions
+29
View File
@@ -2471,6 +2471,35 @@ export function registerIpcHandlers(
}
});
ipcMain.handle('open-audio-file-picker', async () => {
try {
const result = await dialog.showOpenDialog({
title: 'Select Audio File',
filters: [
{ name: 'Audio Files', extensions: ['mp3', 'wav', 'aac', 'm4a', 'flac', 'ogg'] },
{ name: 'All Files', extensions: ['*'] }
],
properties: ['openFile']
});
if (result.canceled || result.filePaths.length === 0) {
return { success: false, canceled: true };
}
return {
success: true,
path: result.filePaths[0]
};
} catch (error) {
console.error('Failed to open audio file picker:', error);
return {
success: false,
message: 'Failed to open audio file picker',
error: String(error)
};
}
});
ipcMain.handle('reveal-in-folder', async (_, filePath: string) => {
try {
// shell.showItemInFolder doesn't return a value, it throws on error
+3
View File
@@ -113,6 +113,9 @@ contextBridge.exposeInMainWorld('electronAPI', {
openVideoFilePicker: () => {
return ipcRenderer.invoke('open-video-file-picker')
},
openAudioFilePicker: () => {
return ipcRenderer.invoke('open-audio-file-picker')
},
setCurrentVideoPath: (path: string) => {
return ipcRenderer.invoke('set-current-video-path', path)
},