diff --git a/src/preload/index.ts b/src/preload/index.ts index 579c451..99fac05 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -1,5 +1,6 @@ import { contextBridge, ipcRenderer } from 'electron' import { electronAPI } from '@electron-toolkit/preload' +import { umbraApi } from '../main/services/api.js' // Custom APIs for renderer const api = {} @@ -15,6 +16,18 @@ if (process.contextIsolated) { onAppStatus: (callback) => ipcRenderer.on('app-status', (event, status) => callback(status)) }) contextBridge.exposeInMainWorld('api', api) + + + let safeUmbraApi = {}; + for (let key in umbraApi) { + safeUmbraApi[key] = (args) => ipcRenderer.invoke(umbraApi[key], args); + } + safeUmbraApi = { + ...safeUmbraApi, + "startGame": (id, path) => ipcRenderer.send('startGame', { id, path }), + "onAppStatus": (callback) => ipcRenderer.on('app-status', (event, status) => callback(status)) + } + contextBridge.exposeInMainWorld('Umbra', safeUmbraApi); } catch (error) { console.error(error) }