Files
claude-live-dashboard/src/preload.js
T
Winkler, Stefan bb311e76c2 Update-Pruefung gegen Gitea-Releases ergaenzen
Die App prueft ca. 60 s nach dem Start einmalig, ob auf dem Gitea-Server
ein neueres Release vorliegt. Bei einem Treffer erscheint eine
Systembenachrichtigung, und ein Symbol im Titelbalken bleibt sichtbar,
bis aktualisiert wird -- Klick auf beides oeffnet die Release-Seite im
Browser. Ueber die neue Einstellung "Nach Updates suchen" abschaltbar
(Standard: aktiv).
2026-08-20 19:59:06 +02:00

30 lines
1.3 KiB
JavaScript

'use strict';
/**
* Schmale, explizite Brücke zwischen Main-Prozess und Oberfläche.
* Der Renderer bekommt keinen Node-Zugriff — nur diese Funktionen.
*/
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('dashboard', {
/** Registriert den Empfänger für Zustandsaktualisierungen. */
onState(callback) {
ipcRenderer.on('state', (_event, state) => callback(state));
},
/** Fordert den aktuellen Zustand an (für den ersten Aufbau). */
getState: () => ipcRenderer.invoke('get-state'),
/** Liefert den gespeicherten Ansichtszustand, damit die Oberfläche zur Fenstergröße passt. */
getUiState: () => ipcRenderer.invoke('get-ui-state'),
/** Klappt die Detailansicht auf oder zu. */
setExpanded: (expanded) => ipcRenderer.send('set-expanded', expanded),
/** Blendet das Fenster aus (bleibt über das Tray-Symbol erreichbar). */
hide: () => ipcRenderer.send('hide-window'),
/** Öffnet den Einstellungsdialog. */
openSettings: () => ipcRenderer.send('open-settings'),
/** Öffnet das Fehler-/Ereignis-Log. */
openErrorLog: () => ipcRenderer.send('open-error-log'),
/** Öffnet die Release-Seite eines gefundenen neuen Updates im Browser. */
openReleasePage: () => ipcRenderer.send('open-release-page'),
});