diff --git a/receivers/electron/src/main/preload.js b/receivers/electron/src/main/preload.js index 05d1f4a..a4cc4fc 100644 --- a/receivers/electron/src/main/preload.js +++ b/receivers/electron/src/main/preload.js @@ -1,5 +1,11 @@ const { contextBridge, ipcRenderer } = require('electron'); +let deviceInfo; +ipcRenderer.on("device-info", (_event, value) => { + deviceInfo = value; +}) + contextBridge.exposeInMainWorld('electronAPI', { - onDeviceInfo: (callback) => ipcRenderer.on("device-info", callback) -}); \ No newline at end of file + onDeviceInfo: (callback) => ipcRenderer.on("device-info", callback), + getDeviceInfo: () => deviceInfo, +}); diff --git a/receivers/electron/src/main/renderer.js b/receivers/electron/src/main/renderer.js index 47c6e0e..3f46770 100644 --- a/receivers/electron/src/main/renderer.js +++ b/receivers/electron/src/main/renderer.js @@ -10,8 +10,16 @@ const player = videojs("video-player", options, function onPlayerReady() { }); -window.electronAPI.onDeviceInfo((_event, value) => { - console.log("onDeviceInfo", value); +window.electronAPI.onDeviceInfo(renderIPsAndQRCode); + +if(window.electronAPI.getDeviceInfo()) { + console.log("device info already present"); + renderIPsAndQRCode(); +} + +function renderIPsAndQRCode() { + const value = window.electronAPI.getDeviceInfo(); + console.log("device info", value); const ipsElement = document.getElementById('ips'); if (ipsElement) { @@ -42,4 +50,4 @@ window.electronAPI.onDeviceInfo((_event, value) => { colorLight : "#ffffff", correctLevel : QRCode.CorrectLevel.M }); -}); \ No newline at end of file +}