const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('rfcp', { // System info getDataPath: () => ipcRenderer.invoke('get-data-path'), getLogPath: () => ipcRenderer.invoke('get-log-path'), getAppVersion: () => ipcRenderer.invoke('get-app-version'), getPlatform: () => ipcRenderer.invoke('get-platform'), getGpuInfo: () => ipcRenderer.invoke('get-gpu-info'), // Dialogs selectDirectory: () => ipcRenderer.invoke('select-directory'), selectFile: (options) => ipcRenderer.invoke('select-file', options), saveFile: (options) => ipcRenderer.invoke('save-file', options), // Settings (persistent) getSetting: (key) => ipcRenderer.invoke('get-setting', key), setSetting: (key, value) => ipcRenderer.invoke('set-setting', key, value), // Shell openExternal: (url) => ipcRenderer.invoke('open-external', url), openPath: (path) => ipcRenderer.invoke('open-path', path), // Region data import importRegionData: () => ipcRenderer.invoke('import-region-data'), // Platform info platform: process.platform, isDesktop: true, isMac: process.platform === 'darwin', isWindows: process.platform === 'win32', isLinux: process.platform === 'linux', });