Files
rfcp/desktop/preload.js
2026-01-31 15:25:18 +02:00

31 lines
1.1 KiB
JavaScript

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),
// Platform info
platform: process.platform,
isDesktop: true,
isMac: process.platform === 'darwin',
isWindows: process.platform === 'win32',
isLinux: process.platform === 'linux',
});