diff --git a/src/main/index.ts b/src/main/index.ts index 9f55806..3d23567 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -57,6 +57,8 @@ app.whenReady().then(() => { // IPC test ipcMain.on('ping', () => console.log('pong')) + ipcMain.handle('get-version', () => app.getVersion()) + createWindow() app.on('activate', function () { diff --git a/src/preload/index.ts b/src/preload/index.ts index 2d18524..590a3bd 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -1,4 +1,4 @@ -import { contextBridge } from 'electron' +import { contextBridge, ipcRenderer } from 'electron' import { electronAPI } from '@electron-toolkit/preload' // Custom APIs for renderer @@ -9,7 +9,10 @@ const api = {} // just add to the DOM global. if (process.contextIsolated) { try { - contextBridge.exposeInMainWorld('electron', electronAPI) + contextBridge.exposeInMainWorld('electron', { + ...electronAPI, + getVersion: () => ipcRenderer.invoke('get-version') + }) contextBridge.exposeInMainWorld('api', api) } catch (error) { console.error(error) diff --git a/src/renderer/src/components/Versions.tsx b/src/renderer/src/components/Versions.tsx index 37a9ff0..2468b7a 100644 --- a/src/renderer/src/components/Versions.tsx +++ b/src/renderer/src/components/Versions.tsx @@ -2,9 +2,13 @@ import { useState } from 'react' function Versions(): React.JSX.Element { const [versions] = useState(window.electron.process.versions) + const [appVersion, setAppVersion] = useState() + + window.electron.getVersion().then(version => setAppVersion(version)) return (